OSDN Git Service

PR fortran/33066
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2
3         PR fortran/33066
4         * decl.c (gfc_get_type_attr_spec): Fix whitespace.
5         (gfc_match_derived_decl): Fix logic.
6
7 2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
8
9         PR fortran/33073
10         * trans-intrinsic.c (build_fixbound_expr): Convert to result type
11         in all cases.
12
13 2007-08-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14
15         PR fortran/32594
16         * trans-expr.c (gfc_conv_substring_expr): Only call
17         gfc_conv_substring if expr->ref is not NULL.
18         * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
19         expression might be a constant.
20         (gfc_simplify_expr): Handle missing start and end, as well as
21         missing ref.
22
23 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
24
25         PR fortran/32926
26         * match.c (gfc_match_call): Do not create a new symtree in the
27         case where the existing symbol is external and not referenced.
28
29 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
30
31         PR fortran/32827
32         * decl.c (variable_decl): Check for an imported symbol
33         by looking for its symtree and testing for the imported
34         attribute.
35         (gfc_match_import): Remove change of symbol's namespace
36         and set the attribute imported instead.
37         * symbol.c (gfc_get_sym_tree): It is not an error if a
38         symbol is imported.
39         * gfortran.h : Add the 'imported' to symbol_attribute.
40
41 2007-08-13  Paul Thomas  <pault@gcc.gnu.org>
42
43         PR fortran/32962
44         * trans-array.c (gfc_conv_array_transpose): Set the offset
45         of the destination to zero if the loop is zero based.
46
47 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
48
49         PR fortran/29600
50         * intrinsic.c (add_functions): Add optional KIND argument to ACHAR.
51         * iresolve.c (gfc_resolve_achar): Handle the KIND argument.
52         * check.c (gfc_check_achar): Check for the optional KIND argument.
53         * simplify.c (gfc_simplify_achar): Use KIND argument.
54         * intrinsic.h (gfc_check_achar, gfc_simplify_achar,
55         gfc_resolve_achar): Adjust prototypes.
56
57 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
58
59         PR fortran/30964
60         PR fortran/33054
61         * trans-expr.c (gfc_conv_function_call): When no formal argument
62         list is available, we still substitute missing optional arguments.
63         * check.c (gfc_check_random_seed): Correct the check on the
64         number of arguments to RANDOM_SEED.
65         * intrinsic.c (add_subroutines): Add a resolution function to
66         RANDOM_SEED.
67         * iresolve.c (gfc_resolve_random_seed): New function.
68         * intrinsic.h (gfc_resolve_random_seed): New prototype.
69
70 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
71
72         PR fortran/32860
73         * error.c (error_uinteger): New function.
74         (error_integer): Call error_uinteger.
75         (error_print): Handle %u, %lu, %li and %ld format specifiers.
76         * interface.c (compare_actual_formal): Use the new %lu specifier.
77
78 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
79
80         PR fortran/31629
81         * lang.opt (-fmodule-private): New option.
82         * gfortran.h (gfc_option_t): Add flag_module_private member.
83         * invoke.texi (-fmodule-private): Document the new option.
84         * module.c (gfc_check_access): Allow the -fmodule-private option
85         to modify the default behaviour.
86         * options.c (gfc_init_options): Initialize flag_module_private.
87         (gfc_handle_option): Handle -fmodule-private.
88
89 2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
90
91         PR fortran/29600
92         * intrinsic.c (add_functions): Add KIND arguments to COUNT,
93         IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND
94         and VERIFY.
95         * iresolve.c (gfc_resolve_count): Add kind argument.
96         (gfc_resolve_iachar): New function.
97         (gfc_resolve_ichar): Add kind argument.
98         (gfc_resolve_index_func): Likewise.
99         (gfc_resolve_lbound): Likewise.
100         (gfc_resolve_len): Likewise.
101         (gfc_resolve_len_trim): Likewise.
102         (gfc_resolve_scan): Likewise.
103         (gfc_resolve_size): New function.
104         (gfc_resolve_ubound): Add kind argument.
105         (gfc_resolve_verify): Likewise.
106         * trans-decl.c (gfc_get_extern_function_decl): Allow specific
107         intrinsics to have 4 arguments.
108         * check.c (gfc_check_count): Add kind argument.
109         (gfc_check_ichar_iachar): Likewise.
110         (gfc_check_index): Likewise.
111         (gfc_check_lbound): Likewise.
112         (gfc_check_len_lentrim): New function.
113         (gfc_check_scan): Add kind argument.
114         (gfc_check_size): Likewise.
115         (gfc_check_ubound): Likewise.
116         (gfc_check_verify): Likewise.
117         * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR,
118         INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY.
119         * simplify.c (get_kind): Whitespace fix.
120         (int_expr_with_kind): New function.
121         (gfc_simplify_iachar): Add kind argument.
122         (gfc_simplify_iachar): Likewise.
123         (gfc_simplify_ichar): Likewise.
124         (gfc_simplify_index): Likewise.
125         (simplify_bound_dim): Likewise.
126         (simplify_bound): Likewise.
127         (gfc_simplify_lbound): Likewise.
128         (gfc_simplify_len): Likewise.
129         (gfc_simplify_len_trim): Likewise.
130         (gfc_simplify_scan): Likewise.
131         (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size.
132         (gfc_simplify_size): Add kind argument.
133         (gfc_simplify_ubound): Likewise.
134         (gfc_simplify_verify): Likewise.
135         * intrinsic.h: Update prototypes and add new ones.
136         * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into
137         gfc_conv_intrinsic_index_scan_verify.
138         (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove.
139         (gfc_conv_intrinsic_function): Call
140         gfc_conv_intrinsic_index_scan_verify to translate the INDEX,
141         SCAN and VERIFY intrinsics.
142
143 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
144
145         PR fortran/31189
146         * invoke.texi (-fbacktrace): Document the new behaviour.
147
148 2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
149
150         PR fortran/32937
151         * trans-array.c (gfc_conv_expr_descriptor): Use
152         gfc_conv_const_charlen to generate backend_decl of right type.
153         * trans-expr.c (gfc_conv_expr_op): Use correct return type.
154         (gfc_build_compare_string): Use int type instead of default
155         integer kind for single character comparison.
156         (gfc_conv_aliased_arg): Give backend_decl the right type.
157         * trans-decl.c (gfc_build_intrinsic_function_decls): Make
158         compare_string return an int.
159
160 2007-08-11  Ian Lance Taylor  <iant@google.com>
161
162         * f95-lang.c (gfc_get_alias_set): Change return type to
163         alias_set_type.
164
165 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
166
167         PR fortran/31270
168         * trans.c (gfc_trans_runtime_check): Reorder arguments and
169         add extra variable arguments. Hand them to the library function.
170         * trans.h (gfc_trans_runtime_check): Update prototype.
171         * trans-array.c (gfc_trans_array_bound_check): Issue more
172         detailled error messages.
173         (gfc_conv_array_ref): Likewise.
174         (gfc_conv_ss_startstride): Likewise.
175         (gfc_trans_dummy_array_bias): Reorder arguments to
176         gfc_trans_runtime_check.
177         * trans-expr.c (gfc_conv_substring): Issue more detailled
178         error messages.
179         (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
180         * trans-stmt.c (gfc_trans_goto): Likewise.
181         * trans-io.c (set_string): Reorder arguments to
182         gfc_trans_runtime_check and issue a more detailled error message.
183         * trans-decl.c (gfc_build_builtin_function_decls): Make
184         runtime_error and runtime_error_at handle a variable number of
185         arguments.
186         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
187         to gfc_trans_runtime_check.
188         (gfc_conv_intrinsic_minmax): Likewise.
189         (gfc_conv_intrinsic_repeat): Issue more detailled error messages.
190
191 2007-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
192
193         * gfortranspec.c (lang_specific_driver): Use CONST_CAST.
194         * options.c (gfc_post_options): Likewise.
195         * parse.c (parse_omp_structured_block): Likewise.
196         * st.c (gfc_free_statement): Likewise.
197
198 2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
199
200         PR fortran/32933
201         * trans-decl.c (gfc_build_builtin_function_decls): Change
202         prototype for associated.
203         * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the
204         result of __builtin_isnan into a boolean.
205         (gfc_conv_intrinsic_strcmp): Cleanup.
206         (gfc_conv_associated): Convert the result of the associated
207         function into a boolean.
208
209 2007-08-09  Tobias Burnus  <burnus@net-b.de>
210
211         PR fortran/32987
212         * io.c (format_token): Add FMT_ERROR.
213         (next_char_not_space): Print error/warning when
214         '\t' are used in format specifications.
215         (format_lex): Propagate error.
216         (check_format): Ditto.
217
218 2007-08-09  Tobias Burnus  <burnus@net-b.de>
219
220         PR fortran/33001
221         * arith.c (arith_error): Point in the error message
222         to -fno-range-check.
223
224 2007-08-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
225
226         PR fortran/32902
227         * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T.
228
229 2007-08-06  Christopher D. Rickett  <crickett@lanl.gov>
230
231         PR fortran/32732
232         * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and
233         actual arg expressions for scalar characters passed by-value to
234         bind(c) routines.
235         (gfc_conv_function_call): Call gfc_conv_scalar_char_value.
236         * trans.h: Add prototype for gfc_conv_scalar_char_value.
237         * trans-decl.c (generate_local_decl): Convert by-value character
238         dummy args of bind(c) procedures using
239         gfc_conv_scalar_char_value.
240
241 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
242
243         PR fortran/30947
244         * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name
245         with the kind of the STATUS argument.
246
247 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
248
249         PR fortran/30948
250         * intrinsic.c (add_functions): Fix name of argument to CHDIR.
251
252 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
253
254         PR fortran/30933
255         * iresolve.c (gfc_resolve_exit): Convert argument to default
256         integer kind.
257
258 2007-08-06  Daniel Franke  <franke.daniel@gmail.com>
259
260         * resolve.c (derived_pointer): Removed, replaced callers by access 
261         to appropiate attribute bit.
262         (derived_inaccessable): Shortcut recursion depth.
263         (resolve_fl_namelist): Fixed checks for private components in namelists.
264
265 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
266
267         PR fortran/29828
268         * trans.h (gfor_fndecl_string_minmax): New prototype.
269         * trans-decl.c (gfor_fndecl_string_minmax): New variable.
270         (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax.
271         * check.c (gfc_check_min_max): Allow for character arguments.
272         * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function.
273         (gfc_conv_intrinsic_function): Add special case for MIN and MAX
274         intrinsics with character arguments.
275         * simplify.c (simplify_min_max): Add simplification for character
276         arguments.
277
278 2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
279
280         PR fortran/31612
281         * invoke.texi: Adjust documentation for option -fsyntax-only.
282
283 2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
284             Tobias Burnus  <burnus@gcc.gnu.org>
285
286         PR fortran/32979
287         * intrinsic.h (gfc_check_isnan): Add prototype.
288         * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN.
289         * intrinsic.c (add_functions): Add ISNAN intrinsic.
290         * check.c (gfc_check_isnan): New function.
291         * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function.
292         (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan
293         to translate ISNAN.
294         * intrinsic.texi: Document ISNAN.
295
296 2007-08-04  Paul Thomas  <pault@gcc.gnu.org>
297
298         PR fortran/31214
299         * symbol.c (get_unique_symtree): Moved from module.c.
300         * module.c (get_unique_symtree): Moved to symbol.c.
301         * decl.c (get_proc_name): Transfer the typespec from the local
302         symbol to the module symbol, in the case that an entry is also
303         a module procedure.  Ensure the local symbol is cleaned up by
304         pointing to it with a unique symtree.
305
306         * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
307
308 2008-08-04  Steven G. Kargl  <kargl@gcc.gnu.org>
309
310         PR fortran/32969
311         * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to
312         expected KIND.
313         (gfc_resolve_scale): Ditto.
314         (gfc_resolve_set_exponent): Ditto.
315         (gfc_resolve_spacing): Ditto.
316  
317         PR fortran/32968
318         * trans-intrinsic.c (gfc_conv_intrinsic_si_kind,
319         gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the
320         expected KIND, and fold the result to the expected KIND.
321
322 2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
323
324         PR fortran/31202
325         * f95-lang.c (gfc_init_builtin_functions): Defin builtins for 
326         lround{f,,l} and llround{f,,l}.
327         * trans-intrinsic.c (build_fix_expr): Generate calls to the
328         {l,}round{f,,l} functions.
329
330 2007-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
331
332         PR libfortran/32954
333         * intrinsic.c (resolve_mask_arg):  New function.
334         (gfc_resolve_maxloc):  Use resolve_mask_arg for mask resolution.
335         (gfc_resolve_maxval):  Likewise.
336         (gfc_resolve_minloc):  Likewise.
337         (gfc_resolve_minval):  Likewise.
338         (gfc_resolve_pack):  Likewise.
339         (gfc_resolve_product):  Likewise.
340         (gfc_resolve_sum):  Likewise.
341         (gfc_resolve_unpack):  Likewise.
342
343 2007-08-01  Tobias Burnus  <burnus@net-b.de>
344
345         PR fortran/32936
346         * match.c (gfc_match_allocate): Better check that STAT is
347         a variable.
348
349         * check.c (gfc_check_allocated): Reorder checks to improve
350         error message.
351
352 2007-08-01  Nick Clifton  <nickc@redhat.com>
353
354         * arith.c: Change copyright header to refer to version 3 of the
355         GNU General Public License and to point readers at the COPYING3
356         file and the FSF's license web page.
357         * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c,
358         symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h,
359         matchexp.c, dump-parse-tree.c, trans-common.c, array.c,
360         Make-lang.in, trans-openmp.c, gfortran.h, error.c,
361         iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c,
362         expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c,
363         trans-types.c, trans.h, gfortranspec.c, trans-types.h,
364         lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c,
365         iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c,
366         match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c,
367         parse.h, types.def, convert.c, dependency.h, primary.c,
368         trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise.
369
370 2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
371
372         * trans-decl.c (generate_local_decl): Emit warning on unused parameter
373         on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed
374         messages that start with lower case to upper case.
375         * invoke.texi (-Wparameter-unused): Document differences between gcc
376         and gfortran regarding this option.
377
378 2007-08-01  Daniel Franke  <franke.daniel@gmail.com>
379
380         PR fortran/32945
381         * expr.c (check_specification_function): Skip check if no symtree 
382         is available.
383
384 2007-08-01  Paul Thomas  <pault@gcc.gnu.org>
385
386         PR fortran/31609
387         * resolve.c (resolve_entries): Entries declared to be module
388         procedures must point to the function namespace.
389
390 2007-07-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
391
392         PR fortran/32938
393         * trans-stmt.c (gfc_trans_return): Convert to correct type.
394
395 2007-07-31  Steven G. Kargl  <kargl@gcc.gnu.org>
396
397         PR fortran/32942
398         * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct
399         type.
400
401 2007-07-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
402
403         * invoke.texi: Document -fsign-zero flag.
404
405 2007-07-29  Paul Thomas  <pault@gcc.gnu.org>
406
407         PR fortran/31211
408         * trans-expr.c (gfc_conv_expr_reference): Add block for case of
409         scalar pointer functions so that NULL result is correctly
410         handled.
411
412         PR fortran/32682
413         * trans-array.c (gfc_trans_array_constructor): On detecting a
414         multi-dimensional parameter array, set the loop limits.
415
416 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
417
418         PR fortran/32906
419         * resolve.c (resolve_fl_parameter): Check for constant shape arrays,
420         adjusted error message.
421
422 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
423
424         * invoke.texi: Removed -w from option summary.
425
426 2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
427
428         PR fortran/32879
429         * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm
430         used for random number generator.
431
432 2007-07-28  Kazu Hirata  <kazu@codesourcery.com>
433
434         * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment
435         typos.
436         * intrinsic.texi, invoke.texi: Fix typos.
437
438 2007-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
439
440         PR fortran/31609
441         * resolve.c (generic_sym): Check for a same symbol and if so, return to
442         avoid infinite recursion.
443
444 2007-07-28  Daniel Franke  <franke.daniel@gmail.com>
445
446         PR fortran/31818
447         PR fortran/32876
448         PR fortran/32905
449         * gfortran.h (symbol_attribute): Added bits for pointer_comp, 
450         private_comp.
451         * parse.c (parse_derived): Set pointer_comp/private_comp bits if 
452         the derived type ultimately contains pointer components or private 
453         components.
454         * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP.
455         (attr_bits): Added names for new ab_attributes.
456         (mio_symbol_attribute): Save/restore new attribute bits in modules.
457         * match.c (gfc_match_namelist): Removed check for namelist objects
458         of assumed shape.
459         * resolve.c (resolve_fl_namelist): Added check for pointer or
460         private components in nested types. Added check for namelist objects
461         of assumed shape.
462
463 2007-07-28  Paul Thomas  <pault@gcc.gnu.org>
464
465         PR fortran/32880
466         * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order
467         for lse and rse pre expressions, for derived types with
468         allocatable components.  Instead, assign the lhs to a temporary
469         and deallocate after the assignment.
470
471 2007-07-28  Janne Blomqvist  <jb@gcc.gnu.org>
472
473         PR fortran/32909
474         * trans-stmt.c (gfc_trans_character_select): Replace occurrences
475         of gfc_c_int_type_node with integer_type_node.
476         * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise.
477         (gfc_build_builtin_function_decls): Likewise.
478         (gfc_generate_function_code): Likewise.
479         * trans-io.c (gfc_build_io_library_fndecls): Likewise.
480
481 2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
482
483         * trans-decl.c (gfc_build_builtin_function_decls): Use existing
484         gfc_array_index_type rather than creating another typenode for
485         gfc_index_integer_kind.
486
487 2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>
488
489         * trans-io.c (gfc_build_io_library_fndecls): Change to use
490         gfc_array_index_type for array descriptor triplets instead of
491         gfc_int4_type_node.
492
493 2007-07-26  Steven G. Kargl  <kargl@gcc.gnu.org>
494
495         PR fortran/32899
496         * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison.
497
498 2007-07-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
499             Daniel Franke  <franke.daniel@gmail.com>
500
501         PR fortran/32760
502         * primary.c (match_variable): Do not call gfc_add_flavor if symbol has
503         attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
504
505 2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
506
507         PR fortran/32035
508         * trans-stmt.c (gfc_trans_character_select): Replace the
509         mechanism with labels by a SWITCH_EXPR.
510         * trans-decl.c (gfc_build_builtin_function_decls): Change
511         return type for select_string.
512
513 2007-07-27  Paul Thomas  <pault@gcc.gnu.org>
514
515         PR fortran/32903
516         * trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
517         derived types as referenced, if they have the the default
518         initializer set.
519
520 2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
521
522         * gfortran.h (generate_isocbinding_symbol): Constify.
523         * symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
524         generate_isocbinding_symbol): Likewise.
525
526 2007-07-24  Paul Thomas  <pault@gcc.gnu.org>
527
528         PR fortran/31205
529         PR fortran/32842
530         * trans-expr.c (gfc_conv_function_call): Remove the default
531         initialization of intent(out) derived types.
532         * symbol.c (gfc_lval_expr_from_sym): New function.
533         * matchexp.c (gfc_get_parentheses): Return argument, if it is
534         character and posseses a ref.
535         * gfortran.h : Add prototype for gfc_lval_expr_from_sym.
536         * resolve.c (has_default_initializer): Move higher up in file.
537         (resolve_code): On detecting an interface assignment, check
538         if the rhs and the lhs are the same symbol.  If this is so,
539         enclose the rhs in parenetheses to generate a temporary and
540         prevent any possible aliasing.
541         (apply_default_init): Remove code making the lval and call
542         gfc_lval_expr_from_sym instead.
543         (resolve_operator): Give a parentheses expression a type-
544         spec if it has no type.
545         * trans-decl.c (gfc_trans_deferred_vars): Apply the a default
546         initializer, if any, to an intent(out) derived type, using
547         gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
548         the dummy is present.
549
550 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
551
552         PR fortran/32867
553         * expr.c (check_init_expr): Simplify matched functions.
554
555 2007-07-24  Daniel Franke  <franke.daniel@gmail.com>
556
557         PR fortran/32778
558         * intrinsic.c (add_sym): Do not exclude any symbols, even if not part
559         of the selected standard.
560         (make generic): Likewise.
561         (make alias): Likewise, set standard the alias belongs to.
562         (add_subroutines): Call make_noreturn unconditionally.
563         (check_intrinsic_standard): Change return value to try.
564         (gfc_intrinsic_func_interface): Check return value of above function.
565         (gfc_intrinsic_sub_interface): Likewise.
566
567 2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
568
569         PR fortran/30814
570         * trans-decl.c (generate_function_code):  Add argument
571         for flag_bounds_check to the array for set_options.
572         * invoke.texi (-fbounds-check): Document new libarary run-time
573         behaviour.
574
575 2007-07-23  Daniel Franke  <franke.daniel@gmail.com>
576
577         PR fortran/25104
578         PR fortran/31639
579         * expr.c (check_transformational): Reject valid transformational
580         intrinsics to avoid ICE.
581         (check_inquiry): Report error for assumed character lengths for
582         all supported standards.
583         (check_init_expr): Whitespace fix.
584
585 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
586
587         PR fortran/32797
588         PR fortran/32800
589         * decl.c (verify_bind_c_sym): Use the result symbol for functions
590         with a result clause.  Warn if implicitly typed.  Verify the type
591         and rank of the SHAPE argument, if given.
592         * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
593         check the actual args against the formal, sorting them if
594         necessary.
595         * symbol.c (gen_shape_param): Initialize type of SHAPE param to
596         BT_VOID.
597
598 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
599
600         PR fortran/32732
601         * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
602         value character dummy args of BIND(C) procedures.
603         * trans-expr.c (gfc_conv_variable): Do not build address
604         expression for BT_CHARACTER dummy args.
605
606 2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
607             Tobias Burnus  <burnus@net-b.de>
608
609         PR fortran/32600
610         * trans-expr.c (gfc_conv_function_call): Handle c_funloc.
611         * trans-types.c: Add pfunc_type_node.
612         (gfc_init_types,gfc_typenode_for_spec): Use it.
613         * resolve.c (gfc_iso_c_func_interface): Fix whitespace and
614         improve error message.
615
616 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
617
618         PR fortran/32710
619         * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
620         the current is a namelist.
621
622 2007-07-22  Daniel Franke  <franke.daniel@gmail.com>
623
624         PR fortran/29962
625         PR fortran/31253
626         PR fortran/31265
627         PR fortran/31639
628         * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
629         generic, specific, actual_ok, noreturn into bits of a bitfield, 
630         added bits for inquiry, transformational, conversion.
631         * check.c (non_init_transformational): Removed, removed all callers.
632         * intrinsic.c (enum class): New.
633         (add_sym*): Replaced argument elemetal by enum class. Changed all
634         callers.
635         (add_functions): Assign appropriate classes to intrinsic functions.
636         (add_subroutines): Assign appropriate classes to intrinsic subroutines.
637         (add_conv): Set conversion attribute.
638         (gfc_init_expr_extensions): Removed, removed all callers.
639         (gfc_intrinsic_func_interface): Reimplemented check for non-standard
640         initializatione expressions.
641         * expr.c (check_specification_function): New.
642         (gfc_is_constant_expr): Added check for specification functions.
643         (check_init_expr_arguments): New.
644         (check_inquiry): Changed return value to MATCH, added checks for
645         inquiry functions defined by F2003.
646         (check_transformational): New.
647         (check_null): New.
648         (check_elemental): New.
649         (check_conversion): New.
650         (check_init_expr): Call new check functions, add more specific error
651         messages.
652
653 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
654
655         PR fortran/32627
656         * resolve.c (set_name_and_label): Set kind number for character
657         version of c_f_pointer.
658         (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
659         that of the actual SHAPE arg.
660         * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.
661
662 2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>
663
664         PR fortran/32801
665         * symbol.c (generate_isocbinding_symbol): Remove unnecessary
666         conditional.
667
668         PR fortran/32804
669         * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
670         deferred-shape arrays as args to C_LOC.  Fix bug in testing
671         character args to C_LOC.
672
673 2007-07-21  Lee Millward  <lee.millward@gmail.com>
674
675         PR fortran/32823
676         * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
677         arguments passed, not just the first one. Adjust code to 
678         refer to "args[0]" instead of "arg" as a result.
679         
680 2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>
681
682         PR fortran/32600
683         * trans-expr.c (gfc_conv_function_call): Inline C_LOC.
684
685 2007-07-18  Christopher D. Rickett  <crickett@lanl.gov>
686
687         PR fortran/32801
688         * symbol.c (generate_isocbinding_symbol): Fix bug where
689         ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
690         ISOCBINDING_PTR.
691
692 2007-07-17  Janus Weil  <jaydub66@gmail.com> 
693
694         PR fortran/32535
695         * resolve.c (resolve_fl_namelist): Check for namelist private 
696         components in contained subprograms.
697
698 2007-07-17  Paul Thomas  <pault@gcc.gnu.org>
699
700         PR fortran/31320
701         PR fortran/32665
702         * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that
703         renormalization unity base is done independently of existing
704         lbound value.
705         (gfc_trans_scalar_assign): If rhs is not a variable, put
706         lse->pre after rse->pre to ensure that de-allocation of lhs
707         occurs after evaluation of rhs.
708
709 2007-07-16  Lee Millward  <lee.millward@gmail.com>
710
711         PR fortran/32222
712         PR fortran/32238
713         PR fortran/32242        
714         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
715         to operate on a stack allocated array for the intrinsic arguments
716         instead of creating a TREE_LIST. Add two new parameters for the
717         array and the number of elements. Update all callers to allocate
718         an array of the correct length to pass in. Update comment.
719         (gfc_intrinsic_argument_list_length): New function.
720         (gfc_conv_intrinsic_conversion): Call it.
721         (gfc_conv_intrinsic_mnimax): Likewise.
722         (gfc_conv_intrinsic_merge): Likewise.
723         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
724         constructors.
725         (gfc_conv_intrinsic_cmplx): Likewise.
726         (gfc_conv_intrinsic_ctime): Likewise.
727         (gfc_covn_intrinsic_fdate): Likewise.
728         (gfc_conv_intrinsic_ttynam): Likewise.
729         (gfc_conv_intrinsic_ishftc): Likewise.
730         (gfc_conv_intrinsic_index): Likewise.
731         (gfc_conv_intrinsic_scan): Likewise.
732         (gfc_conv_intrinsic_verify): Likewise.
733         (gfc_conv_intrinsic_trim): Likewise.
734         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
735         (gfc_conv_intrinsic_exponent): Likewise.
736         (gfc_conv_intrinsic_bound): Likewise.
737         (gfc_conv_intrinsic_abs): Likewise.
738         (gfc_conv_intrinsic_mod): Likewise.
739         (gfc_conv_intrinsic_sign): Likewise.
740         (gfc_conv_intrinsic_len): Likewise.
741         (gfc_conv_intrinsic_adjust): Likewise.
742         (gfc_conv_intrinsic_si_kind): Likewise. 
743         
744 2007-07-16  Janne Blomqvist  <jb@gcc.gnu.org>
745
746         PR fortran/32748
747         * trans-decl.c (gfc_build_builtin_function_decls): Remove
748         DECL_IS_MALLOC attribute from internal_realloc, thus reverting
749         part of my 2007-07-03 patch.
750
751 2007-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
752             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
753
754         PR fortran/32611
755         * gfortran.h (gfc_option_t): Add flag_sign_zero field.
756         * lang.opt (-fsign-zero): New option.
757         * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options.
758         * trans-decl.c (gfc_build_builtin_function_decls): Build the function
759         declaration to pass an array containing the options to be used by the
760         runtime library. (gfc_generate_function_code): Build an array that
761         contains option values to be passed to the runtime library and the call
762         to the function. 
763         * options.c (gfc_init_options): Initialize the flag_sign_zero field.
764         (gfc_handle_option): Handle the -fsign-zero option.
765
766 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
767
768         PR fortran/32036
769         * trans-array.c (gfc_conv_array_ref): Only evaluate index once.
770
771 2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
772
773         PR fortran/32357
774         * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS
775         to C int.
776
777 2007-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
778
779         PR libfortran/32731
780         * iresolve.c(gfc_resolve_pack):  A scalar mask has
781         to be kind=4, an array mask with kind<4 is converted
782         to gfc_default_logical_kind automatically.
783         (gfc_resolve_unpack):  Convert mask to gfc_default_lotical_kind
784         if it has a kind<4.
785
786 2007-07-14  Paul Thomas  <pault@gcc.gnu.org>
787
788         PR fortran/32724
789         * parse.c (parse_spec): Emit error on unexpected statement
790         function.
791
792 2007-07-13  Daniel Franke  <franke.daniel@gmail.com>
793
794         * invoke.texi: Unified upper- and lower-case in menus.
795         (-w, -W): Removed, documented by gcc.
796         * intrinsic.texi: Unified Class-section entries, added
797         subroutine/function warning where appropiate.
798
799 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
800
801         PR fortran/31639
802         * decl.c (gfc_match_suffix): Removed surplus general error that hides
803         a more specific message.
804         * resolve.c (resolve_fl_variable): Reject illegal initializiers only
805         if not already done.
806         (resolve_fl_procedure): Added check for initializers of functions.
807
808 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
809
810         PR fortran/32704
811         * invoke.texi (-static-libgfortran): Document new option.
812
813 2007-07-12  Paul Thomas  <pault@gcc.gnu.org>
814
815         PR fortran/32634
816         PR fortran/32727
817         * module.c (write_generic): Restore patch of 2007-07-10 and use
818         symbol name if there are no use names. 
819
820 2007-07-12  Christopher D. Rickett  <crickett@lanl.gov>
821
822         PR fortran/32599
823         * decl.c (verify_c_interop_param): Require character string dummy
824         args to BIND(C) procedures to have length 1.
825         * resolve.c (resolve_fl_procedure): Modify parameter checking for
826         BIND(C) procedures.
827
828         PR fortran/32601
829         * resolve.c (gfc_iso_c_func_interface): Verify that a valid
830         expression is given as an argument to C_LOC and C_ASSOCIATED.
831         * trans-io.c (transfer_expr): Add argument for code block.  Add
832         standards check to determine if an error message should be
833         reported for printing C_PTR or C_FUNPTR.
834         (transfer_array_component): Update arguments to transfer_expr.
835         (gfc_trans_transfer): Ditto.
836
837         * symbol.c (gen_cptr_param): Fix whitespace.
838
839 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
840
841         PR fortran/32550
842         * trans.h (GFC_POINTER_TYPE_P): Define.
843         * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer.
844         * trans-openmp.c (gfc_omp_privatize_by_reference): Return false
845         if GFC_POINTER_TYPE_P is set on the type.
846
847 2007-07-12  Richard Guenther  <rguenther@suse.de>
848
849         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert
850         arguments to gfc_charlen_type_node.
851         * trans-io.c (gfc_convert_array_to_string): Convert type
852         size to gfc_array_index_type.
853
854 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
855
856         PR fortran/32634
857         PR fortran/32727
858         * module.c: Reverted Paul's patch from 2007-07-10.
859
860 2007-07-11  Richard Guenther  <rguenther@suse.de>
861
862         * trans-array.c (gfc_conv_array_parameter): Use correct
863         types for comparison.
864         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
865         correct types for POINTER_PLUS_EXPR.
866         * trans-stmt.c (gfc_trans_forall_loop): Use correct type
867         for integer one constant.
868
869 2007-07-10  Paul Thomas  <pault@gcc.gnu.org>
870
871         PR fortran/32157
872         * resolve.c (is_external_proc): New function.  Adds test that
873         the symbol is not an intrinsic procedure.
874         * (resolve_function, resolve_call): Replace logical statements
875         with call to is_external_proc.
876
877         PR fortran/32689
878         * simplify.c (gfc_simplify_transfer): If mold has rank, the
879         result is an array.
880
881         PR fortran/32634
882         * module.c (write_generic): Write the local name of the
883         interface. 
884
885 2007-07-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
886
887         PR fortran/29459
888         * trans-array.c (gfc_trans_array_constructor): Mark offset field
889         with TREE_NO_WARNING.
890         * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound,
891         stride and size variables with TREE_NO_WARNING.
892
893 2007-07-09  Steven G. Kargl  <kargl@gcc.gnu.org>
894
895         * trans-decl.c (set_tree_decl_type_code): Remove function.
896         (generate_local_decl): Remove reference to set_tree_decl_type_code.
897
898 2007-07-09  Daniel Franke  <franke.daniel@gmail.com>
899
900         PR fortran/31129
901         * trans-decl.c (generate_local_decl) Emit a warning if an unused
902         parameter is found.
903
904 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
905
906         PR fortran/29876
907         * module.c (gfc_match_use): Do not set an non-existant 
908         intrinsic operator if a user-defined operator is found.
909
910 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
911
912         PR fortran/24784
913         PR fortran/28004
914         * trans-decl.c (generate_local_decl): Adjusted warning on unused 
915         dummy arguments, tell middle-end not to emit additional warnings.
916
917 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
918             Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
919
920         PR fortran/17711
921         * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS,
922         INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS, 
923         INTRINSIC_LT_OS and INTRINSIC_LE_OS.
924         * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise.
925         * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le):
926         Added gfc_intrinsic_op as third argument type.
927         * dump-parse-tree.c (gfc_show_expr): Account for new enum values.
928         * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise.
929         * interface.c (check_operator_interface): Likewise.
930         (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and 
931         Fortran 90 style operators using new enum values.
932         (gfc_extend_expr): Likewise.
933         (gfc_add_interface): Likewise.
934         * match.c (intrinsic_operators): Distinguish FORTRAN 77 style
935         operators from Fortran 90 style operators using new enum values.
936         * matchexp.c (match_level_4): Account for new enum values.
937         * module.c (mio_expr): Likewise.
938         * resolve.c (resolve_operator): Deal with new enum values, fix
939         inconsistent error messages.
940         * trans-expr.c (gfc_conv_expr_op): Account for new enum values.
941
942 2007-07-08  Tobias Burnus  <burnus@net-b.de>
943
944         PR fortran/32669
945         * interface.c (get_expr_storage_size): Properly obtain lower bound.
946         (compare_actual_formal): Add space before parenthesis.
947
948 2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
949
950         PR fortran/25094
951         * resolve.c (resolve_fl_procedure): Added check for PRIVATE types 
952         in PUBLIC interfaces.
953
954 2007-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
955
956         PR fortran/32644
957         * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and
958         gfc_match_bind_c does not return MATCH_YES.
959
960 2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
961
962         * decl.c, gfortran.h, interface.c, module.c, resolve.c,
963         trans-array.c, trans-decl.c: Fix comment typos.  Follow
964         spelling conventions.
965         * intrinsic.texi: Fix typos.  Follow spelling conventions.
966
967 2007-05-06  Daniel Franke  <franke.daniel@gmail.com>
968
969         PR fortran/32633
970         * symbol.c (save_status): New.
971         * gfortran.h (save_status): Added external declaration.
972         (check_conflict): Check for conflicting explicite SAVE statements
973         only.
974         (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant.
975         * module.c (ab_attribute, attr_bits): Removed enumerator value 
976         AB_SAVE for save attribute.
977         (mio_symbol_attribute): Import/export the full SAVE status, 
978         removed usage of AB_SAVE.
979         * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status.
980         * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not
981         already explicit.
982
983 2007-07-05  Daniel Franke  <franke.daniel@gmail.com>
984             Tobias Burnus  <burnus@net-b.de>
985
986         PR fortran/32359
987         * gfortran.h (symbol_attribute): Change save attribute into an enum.
988         * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
989         * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
990         * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
991         (resolve_symbol): Allow OMP threadprivate with
992         initialization SAVEd and save_all variable.
993         * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
994
995 2007-07-05  Paul Thomas  <pault@gcc.gnu.org>
996
997         PR fortran/32526
998         * match.c (gfc_match_call): Check, in all cases, that a symbol
999         is neither generic nor a subroutine before trying to add it as
1000         a subroutine.
1001
1002         PR fortran/32613
1003         * match.c (gfc_match_do): Reset the implied_index attribute.
1004
1005 2007-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1006
1007         PR fortran/31198
1008         * trans-intrinsic.c (trans-intrinsic.c): Handle optional
1009         arguments correctly for MIN and MAX intrinsics.
1010
1011 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1012
1013         PR fortran/32545
1014         * io.c (check_format): Always call gfc_error for errors.
1015         (check_format_string): Change type of this function to try and
1016         return the result of check_format.
1017         (check_io_constraints): Return MATCH_ERROR if check_format_string
1018         returns FAILURE.
1019
1020 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1021
1022         PR fortran/32612
1023         * decl.c (get_proc_name): Include attr->mod_proc in check for error.
1024
1025 2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1026
1027         PR fortran/32432
1028         * gfortran.h: Change type of gfc_assign_data_value from void to try.
1029         * data.c (gfc_assign_data_value): Return FAILURE if error found.
1030         * resolve.c (check_data_variable): If gfc_assign_data_value returns
1031         failure, break out of loop and return failure.
1032
1033 2007-07-03  Christopher D. Rickett  <crickett@lanl.gov>
1034
1035         PR fortran/32579
1036         * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary.
1037         (build_formal_args): Pass intrinsic module symbol id to
1038         gen_cptr_param.
1039
1040 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1041
1042         PR fortran/25062
1043         * resolve.c (resolve_common_blocks): New check function.
1044         (resolve_types): Use it.
1045
1046 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1047
1048         PR fortran/30940
1049         * interface.c (get_sym_storage_size): New function.
1050         (get_sym_storage_size): New function.
1051         (compare_actual_formal): Enhance sequence association
1052         support and improve checking.
1053
1054 2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>
1055
1056         * trans-decl.c (gfc_build_builtin_function_decls): Mark
1057         internal_realloc as a malloc function.
1058
1059 2007-07-03  Tobias Burnus  <burnus@net-b.de>
1060
1061         PR fortran/20888
1062         * resolve.c (resolve_operator): Check for NULL as operand.
1063
1064 2007-07-02  Tobias Burnus  <burnus@net-b.de>
1065
1066         * gfortran.texi (Fortran 2003): Add ISO Bind C.
1067         * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
1068         C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
1069
1070 2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
1071
1072         * interface.c (gfc_compare_derived_types): Special case for comparing
1073         derived types across namespaces.
1074         (gfc_compare_types): Deal with BT_VOID.
1075         (compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
1076         * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
1077         to SCALAR
1078         (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and 
1079         NULL_FUNPTR.
1080         (gfc_conv_expr): Convert expressions for ISO C Binding derived types.
1081         * symbol.c (gfc_set_default_type): BIND(C) variables should not be
1082         Implicitly declared.
1083         (check_conflict): Add BIND(C) and check for conflicts.
1084         (gfc_add_explicit_interface): Whitespace.       
1085         (gfc_add_is_bind_c): New function.  
1086         (gfc_copy_attr): Use it.
1087         (gfc_new_symbol): Initialize ISO C Binding objects.
1088         (get_iso_c_binding_dt):  New function.
1089         (verify_bind_c_derived_type): Ditto.
1090         (gen_special_c_interop_ptr): Ditto.
1091         (add_formal_arg): Ditto.
1092         (gen_cptr_param): Ditto.
1093         (gen_fptr_param): Ditto.
1094         (gen_shape_param): Ditto.
1095         (add_proc_interface): Ditto.
1096         (build_formal_args): Ditto.
1097         (generate_isocbinding_symbol):  Ditto.
1098         (get_iso_c_sym):  Ditto.
1099         * decl.c (num_idents_on_line, has_name_equals): New variables.
1100         (verify_c_interop_param): New function.
1101         (build_sym): Finish binding labels and deal with COMMON blocks.
1102         (add_init_expr_to_sym): Check if the initialized expression is
1103         an iso_c_binding named constants
1104         (variable_decl): Set ISO C Binding type_spec components.
1105         (gfc_match_kind_spec): Check match for C interoperable kind.
1106         (match_char_spec): Fix comment. Chnage gfc_match_small_int
1107         to gfc_match_small_int_expr.  Check for C interoperable kind.
1108         (match_type_spec): Clear the current binding label.
1109         (match_attr_spec): Add DECL_IS_BIND_C.  If BIND(C) is found, use it
1110         to set attributes.
1111         (set_binding_label): New function.
1112         (set_com_block_bind_c): Ditto.
1113         (verify_c_interop): Ditto.
1114         (verify_com_block_vars_c_interop): Ditto.
1115         (verify_bind_c_sym): Ditto.
1116         (set_verify_bind_c_sym): Ditto.
1117         (set_verify_bind_c_com_block): Ditto.
1118         (get_bind_c_idents): Ditto.
1119         (gfc_match_bind_c_stmt): Ditto.
1120         (gfc_match_data_decl): Use num_idents_on_line.
1121         (match_result): Deal with right paren in BIND(C).
1122         (gfc_match_suffix): New function.
1123         (gfc_match_function_decl): Use it.  Code is re-arranged to deal with
1124         ISO C Binding result clauses.
1125         (gfc_match_subroutine):  Deal with BIND(C).
1126         (gfc_match_bind_c): New function.
1127         (gfc_get_type_attr_spec): New function.  Code is re-arranged in and
1128         taken from gfc_match_derived_decl.
1129         (gfc_match_derived_decl): Add check for BIND(C).
1130         * trans-common.c: Forward declare gfc_get_common.
1131         (gfc_sym_mangled_common_id): Change arg from 'const char *name' to
1132         'gfc_common_head *com'.  Check for ISO C Binding of the common block.
1133         (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
1134         * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
1135         (bt): Add BT_VOID
1136         (sym_flavor): Add FL_VOID.
1137         (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
1138         (CInteropKind_t): New struct.
1139         (c_interop_kinds_table): Use it.  Declare an array of structs.
1140         (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
1141         bitfields.
1142         (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
1143         (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
1144         common_block members.
1145         (gfc_common_head): Add binding_label and is_bind_c members.
1146         (gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
1147         Add prototypes for get_c_kind, gfc_validate_c_kind, 
1148         gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
1149         verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
1150         verify_bind_c_derived_type, verify_com_block_vars_c_interop,
1151         generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
1152         * iso-c-binding.def: New file. This file contains the definitions
1153         of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
1154         module.
1155         * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
1156          or C_NULL_FUNPTR expressions.
1157         * expr.c (gfc_copy_expr): Add BT_VOID case.  For BT_CHARACTER, the
1158         ISO C Binding requires a minimum string length of 1 for '\0'.  
1159         * module.c (intmod_sym): New struct.
1160         (pointer_info): Add binding_label member.
1161         (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
1162         (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
1163         (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
1164         (mio_symbol_attribute): Deal with ISO C Binding attributes.
1165         (bt_types): Add "VOID".
1166         (mio_typespec): Deal with ISO C Binding components.
1167         (mio_namespace_ref): Add intmod variable. 
1168         (mio_symbol): Check for symbols from an intrinsic module.
1169         (load_commons): Check for BIND(C) common block.
1170         (read_module): Read binding_label and use it.
1171         (write_common): Add label.  Write BIND(C) info.
1172         (write_blank_common): Blank commons are not BIND(C).  Explicitly
1173         set is_bind_c=0.
1174         (write_symbol): Deal with binding_label.
1175         (sort_iso_c_rename_list): New function.
1176         (import_iso_c_binding_module): Ditto.
1177         (create_int_parameter): Add to args.
1178         (use_iso_fortran_env_module): Adjust to deal with iso_c_binding
1179         intrinsic module.
1180         * trans-types.c (c_interop_kinds_table): new array of structs. 
1181         (gfc_validate_c_kind): New function.
1182         (gfc_check_any_c_kind): Ditto.
1183         (get_real_kind_from_node): Ditto.
1184         (get_int_kind_from_node): Ditto.
1185         (get_int_kind_from_width): Ditto.
1186         (get_int_kind_from_minimal_width): Ditto.
1187         (init_c_interop_kinds): Ditto.
1188         (gfc_init_kinds): call init_c_interop_kinds.
1189         (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
1190         Adjust handling of BT_DERIVED.
1191         (gfc_sym_type): Whitespace.
1192         (gfc_get_derived_type):  Account for iso_c_binding derived types
1193         * resolve.c (is_scalar_expr_ptr): New function.
1194         (gfc_iso_c_func_interface): Ditto.
1195         (resolve_function): Use gfc_iso_c_func_interface. 
1196         (set_name_and_label): New function.
1197         (gfc_iso_c_sub_interface): Ditto.
1198         (resolve_specific_s0): Use gfc_iso_c_sub_interface.
1199         (resolve_bind_c_comms): New function.
1200         (resolve_bind_c_derived_types): Ditto.
1201         (gfc_verify_binding_labels): Ditto.
1202         (resolve_fl_procedure): Check for ISO C interoperability.
1203         (resolve_symbol): Check C interoperability.
1204         (resolve_types): Walk the namespace.  Check COMMON blocks.
1205         * trans-decl.c (gfc_sym_mangled_identifier):  Prevent the mangling
1206         of identifiers that have an assigned binding label.
1207         (gfc_sym_mangled_function_id): Use the binding label rather than
1208         the mangled name.
1209         (gfc_finish_var_decl): Put variables that are BIND(C) into a common
1210         segment of the object file, because this is what C would do.
1211         (gfc_create_module_variable): Conver to proper types
1212         (set_tree_decl_type_code): New function.
1213         (generate_local_decl): Check dummy variables and derived types for
1214         ISO C Binding attributes.
1215         * match.c (gfc_match_small_int_expr): New function.
1216         (gfc_match_name_C): Ditto.
1217         (match_common_name): Deal with ISO C Binding in COMMON blocks
1218         * trans-io.c (transfer_expr):  Deal with C_NULL_PTR or C_NULL_FUNPTR
1219         expressions
1220         * match.h: Add prototypes for gfc_match_small_int_expr,
1221         gfc_match_name_C, match_common_name, set_com_block_bind_c,
1222         set_binding_label, set_verify_bind_c_sym,
1223         set_verify_bind_c_com_block, get_bind_c_idents,
1224         gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
1225         gfc_get_type_attr_spec
1226         * parse.c (decode_statement): Use gfc_match_bind_c_stmt
1227         (parse_derived): Init *derived_sym = NULL, and gfc_current_block
1228         later for valiadation.
1229         * primary.c (got_delim): Set ISO C Binding components of ts.
1230         (match_logical_constant): Ditto.
1231         (match_complex_constant): Ditto.
1232         (match_complex_constant): Ditto.
1233         (gfc_match_rvalue): Check for existence of at least one arg for
1234         C_LOC, C_FUNLOC, and C_ASSOCIATED.
1235         * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
1236         (get_c_kind): New function.
1237
1238 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1239
1240         PR fortran/32239
1241         * trans-expr.c (gfc_conv_power_op): Use builtin_powi for
1242         real**int4 powers.
1243         * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
1244         builtins table.
1245
1246 2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>
1247
1248         * trans.h: Remove decls for 64-bit allocation functions.
1249         * trans-array.c (gfc_grow_array): Always pick the standard realloc
1250         function decl.
1251         (gfc_array_allocate): Likewise.
1252         * trans-decl.c: Remove trees for 64-bit allocation functions.
1253         (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
1254         allocations functions, use index_int_type for normal allocation
1255         functions.
1256
1257 2007-06-30  Daniel Franke  <franke.daniel@gmail.com>
1258
1259         PR fortran/20373
1260         * intrinsic.c (add_functions): Additional function types.
1261         (gfc_convert_type_warn): Remove intrinsic-flag from
1262         conversion functions.
1263         * resolve.c (resolve_symbol): Added type checks to 
1264         explicitly defined intrinsics.
1265
1266 2007-06-30  Tobias Burnus  <burnus@net-b.de>
1267
1268         PR fortran/32555
1269         * io.c (check_format): Allow zero to precede the
1270         P edit descriptor.
1271
1272 2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
1273
1274         PR fortran/32472
1275         * simplify.c (gfc_simplify_repeat): Add handling of character
1276         literal for first argument.
1277
1278 2007-06-29  Daniel Franke  <franke.daniel@gmail.com>
1279
1280         * resolve.c (resolve_operator): Added check whether a user
1281         defined operator is available.
1282
1283 2007-06-29  Daniel Franke <franke.daniel@gmail.com>
1284
1285         * openmp.c (resolve_omp_clauses): Adjust error message to
1286         better reflect the actual requirement.
1287
1288 2007-06-29  Tobias Burnus  <burnus@net-b.de>
1289
1290         PR fortran/32483
1291         * io.c (format_lex): Fix FMT_ZERO.
1292         (check_format,check_format_string,gfc_match_format,
1293         check_io_constraints) Additional checking for READ.
1294
1295 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1296
1297         PR other/31400
1298         * lang.opt (static-libgfortran): New option.
1299         * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
1300         (Option): Add OPTION_static and OPTION_static_libgfortran.
1301         (lookup_option): Handle the new -static-libgfortran option.
1302         (lang_specific_driver): Check whether -static is passed.
1303         Handle the new -static-libgfortran option.
1304         * options.c (gfc_handle_option): If -static-libgfortran is
1305         passed and isn't supported on this configuration, error out.
1306
1307 2007-06-27  Daniel Franke  <franke.daniel@gmail.com>
1308
1309         PR fortran/32467
1310         * openmp.c (resolve_omp_clauses): Emit error on allocatable
1311         components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE
1312         clauses.
1313
1314 2007-06-25  Paul Thomas  <pault@gcc.gnu.org>
1315
1316         PR fortran/32464
1317         * resolve.c (check_host_association): Return if the old symbol
1318         is use associated.  Introduce retval to reduce the number of
1319         evaluations of the first-order return value.
1320
1321         PR fortran/31494
1322         * match.c (gfc_match_call): If a host associated symbol is not
1323         a subroutine, build a new symtree/symbol in the current name
1324         space.
1325
1326 2007-06-24  Tobias Burnus  <burnus@net-de>
1327
1328         PR fortran/32460
1329         * interface.c (gfc_compare_derived_types): Add access check.
1330         * symbol.c (gfc_find_component): Ditto.
1331         (gfc_set_component_attr,gfc_get_component_attr) Copy access state.
1332         * dump-parse-tree.c (gfc_show_components): Dump access state.
1333         * gfortran.h (struct gfc_component): Add gfc_access.
1334         * module.c (mio_component): Add access state.
1335         * (gfc_match_structure_constructor): Check for private access state.
1336
1337 2007-06-24  Paul Thomas  <pault@gcc.gnu.org>
1338
1339         PR fortran/32298
1340         PR fortran/31726
1341         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
1342         the offset between the loop counter and the position as
1343         defined. Add the offset within the loop so that the mask acts
1344         correctly.  Do not advance the location on the basis that it
1345         is zero.
1346
1347 2007-06-22  Daniel Franke  <franke.daniel@gmail.com>
1348
1349         PR fortran/31473
1350         * symbol.c (gfc_copy_attr): Emit errors for duplicate 
1351         EXTERNAL/INTRINSIC statements.
1352
1353 2007-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1354
1355         PR fortran/32360
1356         * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
1357         check to see if the lvalue has attribute pointer and data.  
1358
1359 2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1360
1361         PR fortran/31162
1362         * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
1363         gfc_notify_standard. (gfc_resolve_iterator): Remove check.
1364         (resolve_branch): Change "Obsolete" to "Deleted feature".
1365         * io.c (resolve_tag): Ditto.
1366         * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.
1367
1368 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1369
1370         PR fortran/32361
1371         * match.c (gfc_match_common): If the symbol value expression type is
1372         NULL_EXPR, don't error if previously initialized.
1373
1374 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1375
1376         PR fortran/25061
1377         * decl.c (get_proc_name) Check symbol for generic interface
1378         and issue an error.
1379
1380 2007-06-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1381         Richard Guenther  <rguenther@suse.de>
1382
1383         PR fortran/32140
1384         * trans.c (gfc_build_addr_expr): Use the correct types.
1385
1386 2007-06-19  Paul Thomas  <pault@gcc.gnu.org>
1387
1388         PR fortran/20863
1389         PR fortran/20882
1390         * resolve.c (resolve_code): Use gfc_impure_variable as a
1391         condition for rejecting derived types with pointers, in pure
1392         procedures.
1393         (gfc_impure_variable): Add test for dummy arguments of pure
1394         procedures; any for functions and INTENT_IN for subroutines.
1395
1396         PR fortran/32236
1397         * data.c (gfc_assign_data_value): Change the ICE on an array
1398         reference initializer not being an array into an error and
1399         clear init to prevent a repetition of the error.
1400
1401 2007-06-17  Janne Blomqvist  <jb@gcc.gnu.org>
1402
1403         * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
1404         environment variables. Fix documentation for
1405         GFORTRAN_UNBUFFERED_ALL environment variable.
1406
1407 2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1408
1409         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
1410         POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
1411         * trans-expr.c (gfc_trans_string_copy): Create
1412         POINTER_PLUS_EXPR instead of a PLUS_EXPR
1413         for pointer types.
1414
1415 2007-06-14  Paul Thomas  <pault@gcc.gnu.org>
1416
1417         PR fortran/32302
1418         * trans-common.c (build_common_decl): If resizing of common
1419         decl is needed, update the TREE_TYPE.
1420
1421 2007-06-13  Tobias Burnus  <burnus@net-b.de>
1422
1423         PR fortran/32323
1424         * interface.c (has_vector_section): New.
1425         (compare_actual_formal): Check for array sections with vector subscript.
1426
1427 2007-06-12  Dirk Mueller  <dmueller@suse.de>
1428
1429         * trans-stmt.c (gfc_trans_call): fix gcc_assert to
1430         a comparison, not an assignment.
1431
1432 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
1433
1434         * trans-common.c (create_common): Initialize 'field_init'.
1435
1436 2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
1437
1438         PR fortran/29786
1439         PR fortran/30875
1440         * trans-common.c (get_init_field): New function.
1441         (create_common): Call get_init_field for overlapping
1442         initializers in equivalence blocks.
1443         * resolve.c (resolve_equivalence_derived, resolve_equivalence):
1444         Remove constraints on initializers in equivalence blocks.
1445         * target-memory.c (expr_to_char, gfc_merge_initializers):
1446         New functions.
1447         (encode_derived): Add the bit offset to the byte offset to get
1448         the total offset to the field.
1449         * target-memory.h : Add prototype for gfc_merge_initializers.
1450
1451 2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
1452
1453         * trans-types.c (gfc_signed_type): Remove.
1454         * trans-types.h (gfc_signed_type): Remove.
1455         * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
1456
1457 2007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1458
1459         * trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
1460
1461 2007-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>
1462             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1463
1464         PR fortran/32223
1465         * match.c (gfc_match_special_char): New function.  Match special char.
1466         Add handling '\0'.
1467         * match.h: Add prototype.
1468         * io.c (next_char): Use it.
1469         * primary.c (next_string_char): Ditto.
1470
1471 2007-06-06  Steven G. Kargl  <kargl@gcc.gnu.org>
1472
1473         * decl.c: Miscellaneous whitespace fixes.
1474         * expr.c: Likewise.
1475         * gfortran.h: Likewise.
1476         * interface.c : Likewise.
1477         * io.c: Likewise.
1478         * match.c: Likewise.
1479         * match.h: Likewise.
1480         * module.c: Likewise.
1481         * parse.c: Likewise.
1482         * resolve.c: Likewise.
1483         * symbol.c: Likewise.
1484         * trans-array.c: Likewise.
1485         * trans-common.c: Likewise.
1486         * trans-decl.c: Likewise.
1487         * trans-intrinsic.c: Likewise.
1488         * trans-io.c: Likewise.
1489         * trans-stmt.c: Likewise.
1490         * trans-types.c: Likewise.
1491
1492 2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1493
1494         PR fortran/18923
1495         * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
1496         for ST_FUNCTION since it is called in reject_statement.
1497         (parse_contained): If error, loop back after reject_statement and try
1498         again.  Free the namespace if an error occured.
1499
1500 2007-06-04 Lee Millward <lee.millward@codesourcery.com>
1501
1502         * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
1503         to operate on a stack allocated array for the intrinsic arguments
1504         instead of creating a TREE_LIST. Add two new parameters for the
1505         array and the number of elements. Update all callers to allocate
1506         an array of the correct length to pass in. Update comment.
1507         (gfc_intrinsic_argument_list_length): New function.
1508         (gfc_conv_intrinsic_mnimax): Call it.
1509         (gfc_conv_intrinsic_merge): Likewise.
1510         (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
1511         constructors.
1512         (gfc_conv_intrinsic_cmplx): Likewise.
1513         (gfc_conv_intrinsic_ctime): Likewise.
1514         (gfc_covn_intrinsic_fdate): Likewise.
1515         (gfc_conv_intrinsic_ttynam): Likewise.
1516         (gfc_conv_intrinsic_ishftc): Likewise.
1517         (gfc_conv_intrinsic_index): Likewise.
1518         (gfc_conv_intrinsic_scan): Likewise.
1519         (gfc_conv_intrinsic_verify): Likewise.
1520         (gfc_conv_intrinsic_trim): Likewise.
1521         (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
1522         (gfc_conv_intrinsic_exponent): Likewise.
1523         (gfc_conv_intrinsic_bound): Likewise.
1524         (gfc_conv_intrinsic_abs): Likewise.
1525         (gfc_conv_intrinsic_mod): Likewise.
1526         (gfc_conv_intrinsic_sign): Likewise.
1527         (gfc_conv_intrinsic_len): Likewise.
1528         (gfc_conv_intrinsic_adjust): Likewise.
1529         (gfc_conv_intrinsic_si_kind): Likewise.
1530
1531 2007-06-04  Steve Ellcey  <sje@cup.hp.com>
1532
1533         * trans-array.c (gfc_conv_array_parameter): Initialize tmp.
1534
1535 2007-05-31  Richard Guenther  <rguenther@suse.de>
1536
1537         * trans-expr.c (gfc_conv_expr_op): Use zero constant
1538         that matches the lse type.
1539         (gfc_trans_string_copy): Use sizetype zero constant.
1540         * intrinsic.c (add_functions): The sizeof intrinsic has
1541         index type result.
1542         * trans-types.c (gfc_get_dtype): Convert size to index
1543         type before shifting.
1544         * trans-array.c (gfc_trans_array_constructor_value): Use
1545         index type for offset computation.
1546         * trans-intrinsic.c (gfc_conv_associated): Use correct type
1547         for zero constant.
1548
1549 2007-05-31  Paul Thomas  <pault@gcc.gnu.org>
1550
1551         PR fortran/32156
1552         * trans-array.c (gfc_trans_array_constructor): Treat the case
1553         where the ss expression charlen is missing.
1554
1555 22007-05-31  Paul Thomas  <pault@gcc.gnu.org>
1556
1557         PR fortran/32103
1558         * module.c (mio_symtree_ref): If an equivalence group member
1559         is not used, give it a hidden symbol and set the pointer_info.
1560         (load_equiv): Only free the equivalence if none of the members
1561         are used.
1562
1563 2007-05-29  Daniel Franke  <franke.daniel@gmail.com>
1564
1565         * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
1566         added missing GFC_ISYM_* enumerators, ordered alphabetically.
1567         (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
1568         (gfc_find_subroutine): New prototype.
1569         * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
1570         (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.  
1571         * dependency.c: Changed usage of isym->generic_id to isym->id.  
1572         * openmp.c: Likewise.  
1573         * resolve.c: Likewise.  
1574         * trans-array.c: Likewise.  
1575         * trans-expr.c: Likewise.  
1576         * trans-intrinsic.c: Likewise.  
1577         * trans-openmp.c: Likewise.
1578
1579 2007-05-28  Tobias Schlüter  <tobi@gcc.gnu.org>
1580
1581         * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
1582         * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
1583         * intrinsic.h (gfc_check_sizeof): Add prototype of ...
1584         * check.c (gfc_check_sizeof): .. new function.
1585         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
1586         (gfc_conv_intrinsic_strcmp): Whitespace fix.
1587         (gfc_conv_intrinsic_array_transfer): Remove double initialization,
1588         use fold_build. where appropriate.
1589         (gfc_conv_intrinsic_function): Add case for SIZEOF.
1590         * intrinsic.texi: Add documentation for SIZEOF.
1591
1592 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1593
1594         * trans-array.c (gfc_conv_expr_descriptor): Edit comment.
1595
1596 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1597
1598         PR fortran/31972
1599         * target-memory.c (gfc_target_expr_size): Add handling
1600         for size of BT_HOLLERITH variables.
1601         * check.c (gfc_check_transfer): Reject BT_HOLLERITH
1602         variables in MOLD argument of TRANSFER.
1603
1604 2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
1605
1606         * gfortran.h (gfc_expr): Remove from_H, add "representation"
1607         struct.
1608         * primary.c (match_hollerith_constant): Store the representation
1609         of the Hollerith in representation, not in value.character.
1610         * arith.c: Add dependency on target-memory.h.
1611         (eval_intrinsic): Remove check for from_H.
1612         (hollerith2representation): New function.
1613         (gfc_hollerith2int): Determine value of the new constant.
1614         (gfc_hollerith2real): Likewise.
1615         (gfc_hollerith2complex): Likewise.
1616         (gfc_hollerith2logical): Likewise.
1617         (gfc_hollerith2character): Point both representation.string and
1618         value.character.string at the value string.
1619         * data.c (create_character_initializer): For BT_HOLLERITH
1620         rvalues, get the value from the representation rather than
1621         value.character.
1622         * expr.c (free_expr0): Update handling of BT_HOLLERITH values
1623         and values with representation.string.
1624         (gfc_copy_expr): Likewise.
1625         * intrinsic.c (do_simplify): Remove special treatement of
1626         variables resulting from Hollerith constants.
1627         * dump-parse-trees.c (gfc_show_expr): Update handling of
1628         Holleriths.
1629         * trans-const.c (gfc_conv_constant_to_tree): Replace from_H
1630         check with check for representation.string; get Hollerith
1631         representation from representation.string, not value.character.
1632         * trans-expr.c (is_zero_initializer_p): Replace from_H check
1633         with check for representation.string.
1634         * trans-stmt.c (gfc_trans_integer_select): Use
1635         gfc_conv_mpz_to_tree for case values, so as to avoid picking up
1636         the memory representation if the case is given by a transfer
1637         expression.
1638         * target-memory.c (gfc_target_encode_expr): Use the known memory
1639         representation rather than the value, if it exists.
1640         (gfc_target_interpret_expr): Store the memory representation of
1641         the interpreted expression as well as its value.
1642         (interpret_integer): Move to gfc_interpret_integer, make
1643         non-static.
1644         (interpret_float): Move to gfc_interpret_float, make non-static.
1645         (interpret_complex): Move to gfc_interpret_complex, make
1646         non-static.
1647         (interpret_logical): Move to gfc_interpret_logical, make
1648         non-static.
1649         (interpret_character): Move to gfc_interpret_character, make
1650         non-static.
1651         (interpret_derived): Move to gfc_interpret_derived, make
1652         non-static.
1653         * target-memory.h: Add prototypes for newly-exported
1654         gfc_interpret_* functions.
1655
1656 2007-05-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1657
1658         PR fortran/31812
1659         * parse.c (next_statement): Warn for truncated lines if source is free
1660         form.
1661
1662 2007-05-27 Paul Thomas  <pault@gcc.gnu.org>
1663            Tobias Burnus  <burnus@net-b.de>
1664
1665         PR fortran/32088
1666         * symbol.c (gfc_check_function_type): Copy dimensions of
1667           result variable.
1668         * resolve.c (resolve_contained_fntype): Improve symbol output in
1669           the error message.
1670
1671 2007-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1672
1673         PR fortran/31813
1674         * io.c (check_format): Add warning for H specifier in format.
1675         
1676 2007-05-26  Tobias Burnus  <burnus@net-b.de>
1677
1678         * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
1679         GFORTRAN_ERROR_BACKTRACE environment variables.
1680
1681 2007-05-26  Paul Thomas  <pault@gcc.gnu.org>
1682
1683         PR fortran/31219
1684         * trans.h : Add no_function_call bitfield to gfc_se structure.
1685         Add stmtblock_t argument to prototype of get_array_ctor_strlen.
1686         * trans-array.c (get_array_ctor_all_strlen): New function.
1687         (get_array_ctor_strlen): Add new stmtblock_t argument and call
1688         new function for character elements that are not constants,
1689         arrays or variables.
1690         (gfc_conv_array_parameter): Call get_array_ctor_strlen to get
1691         good string length.
1692         * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
1693         to call of get_array_ctor_strlen.
1694
1695 2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
1696
1697         * intrinsic.texi: Fix typos.
1698
1699 2007-05-25  Paul Thomas  <pault@gcc.gnu.org>
1700
1701         PR fortran/32047
1702         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
1703         order in logic under EXPR_FUNCTION to handle functions with
1704         no arguments.
1705
1706 2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1707
1708         PR fortran/31716
1709         * array.c (spec_dimen_size): Test for correct BT_INTEGER type. 
1710
1711 2007-05-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1712
1713         PR fortran/32046
1714         * trans-expr.c (gfc_trans_zero_assign): Convert the result of
1715         TYPE_SIZE_UNIT into a signed type.
1716         (gfc_trans_array_copy):  Likewise.
1717         (gfc_trans_array_constructor_copy): Likewise.
1718         * trans-array.c (gfc_trans_create_temp_array): Likewise.
1719         (gfc_grow_array): Likewise.
1720         (gfc_array_init_size): Likewise.
1721         (gfc_duplicate_allocatable): Likewise.
1722         * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
1723
1724 2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1725
1726         PR fortran/18923
1727         * resolve.c (resolve_function): Don't call resolve_global_procedure if
1728         there is no name. Delete duplicated statement in ELSE clause.
1729
1730 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1731
1732         PR fortran/31627
1733         * trans-array.c (gfc_trans_array_bound_check): Take extra argument to
1734         indicate whether we should check the upper bound in that dimension.
1735         (gfc_conv_array_index_offset): Check only the lower bound of the
1736         last dimension for assumed-size arrays.
1737         (gfc_conv_array_ref): Likewise.
1738         (gfc_conv_ss_startstride): Likewise.
1739
1740 2007-05-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1741             Daniel Franke  <franke.daniel@gmail.com>
1742
1743         PR fortran/32002
1744         * resolve.c (resolve_actual_arglist): Resolve actual argument after
1745         being identified as variable.
1746
1747 2007-05-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1748
1749         PR fortran/32027
1750         * trans-stmt.c (gfc_trans_do): Fix the value of loop variable
1751         when the loop ends.
1752
1753 2007-05-21  H.J. Lu  <hongjiu.lu@intel.com>
1754
1755         * trans-stmt.c (gfc_trans_do): Fix a typo in comment.
1756
1757 2007-05-21  Paul Thomas  <pault@gcc.gnu.org>
1758
1759         PR fortran/31867
1760         PR fortran/31994
1761         * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
1762         offset for non-descriptor, source arrays and correct for stride
1763         not equal to one before writing to field of output descriptor.
1764
1765 2007-05-20  Daniel Franke  <franke.daniel@gmail.com>
1766
1767         PR fortran/32001
1768         * check.c (check_rest): Improved argument conformance check and 
1769         fixed error message generation.
1770
1771 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1772
1773         PR fortran/30820
1774         * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
1775         simplify.o and trans-common.o.
1776
1777 2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1778
1779         PR fortran/31974
1780         * trans-array.c (gfc_trans_auto_array_allocation): Avoid
1781         multiplication of mismatched types.
1782
1783 2007-05-18  Daniel Franke  <franke.daniel@gmail.com>
1784
1785         PR fortran/24633
1786         * symbol.c (gfc_add_flavor): Add the NAME to error message if
1787         available.
1788
1789 2007-05-15  Daniel Franke  <franke.daniel@gmail.com>
1790
1791         PR fortran/31919
1792         PR fortran/31929
1793         PR fortran/31930
1794         * intrinsic.c (check_specific): Check elemental intrinsics for
1795         rank and shape.
1796         (add_functions): Fixed dummy argument names of BESJN and BESYN.
1797         Fixed elemental status of MCLOCK and MCLOCK8.
1798         * check.c (check_rest): Added check for array conformance.
1799         (gfc_check_merge): Removed check for array conformance.
1800         (gfc_check_besn): Removed check for scalarity.
1801         * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
1802         (BESJN, BESYN): Clarified documentation.
1803
1804 2007-05-17  Tobias Burnus  <burnus@net-b.de>
1805
1806         * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
1807
1808 2007-05-16  Brooks Moses  <brooks.moses@codesourcery.com>
1809
1810         PR fortran/18769
1811         PR fortran/30881
1812         PR fortran/31194
1813         PR fortran/31216
1814         PR fortran/31427
1815         * target-memory.c: New file.
1816         * target-memory.h: New file.
1817         * simplify.c: Add #include "target-memory.h".
1818         (gfc_simplify_transfer): Implement constant-
1819         folding for TRANSFER intrinsic.
1820         * Make-lang.in: Add dependencies on new target-memory.* files.
1821
1822 2007-05-15  Paul Brook  <paul@codesourcery.com>
1823
1824         * trans-types.c (gfc_type_for_size): Handle signed TImode.
1825
1826 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1827
1828         PR fortran/30723
1829         * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
1830         gfor_fndecl_internal_free): Remove prototypes.
1831         (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
1832         * trans.c (gfc_call_malloc, gfc_call_free): New functions.
1833         * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
1834         and __builtin_malloc builtins.
1835         * trans-decl.c (gfor_fndecl_internal_malloc,
1836         gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
1837         (gfor_fndecl_os_error): Add.
1838         (gfc_build_builtin_function_decls): Don't create internal_malloc,
1839         internal_malloc64 and internal_free library function declaration.
1840         Create os_error library call function declaration.
1841         * trans-array.c (gfc_trans_allocate_array_storage,
1842         gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
1843         gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
1844         gfc_call_malloc and gfc_call_free instead of building calls to
1845         internal_malloc and internal_free.
1846         * trans-expr.c (gfc_conv_string_tmp): Likewise.
1847         * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
1848         gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
1849         gfc_trans_where_2: Likewise.
1850         * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
1851         gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
1852         gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
1853
1854 2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1855
1856         PR fortran/31725
1857         * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
1858         only once.
1859
1860 2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
1861
1862         * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
1863         * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
1864         instead of gfc_unsigned_type.
1865         * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
1866         gfc_unsigned_type.
1867         * trans-types.c (gfc_unsigned_type): Remove.
1868         * trans-types.h (gfc_unsigned_type): Remove.
1869
1870 2007-05-12  Paul Thomas  <pault@gcc.gnu.org>
1871
1872         PR fortran/30746
1873         * resolve.c (check_host_association): New function that detects
1874         incorrect host association and corrects it.
1875         (gfc_resolve_expr): Call the new function for variables and
1876         functions.
1877         * match.h : Remove prototype for gfc_match_rvalue.
1878         * gfortran.h : Add prototype for gfc_match_rvalue.
1879
1880 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
1881
1882         PR fortran/30876
1883         * trans-expr.c (gfc_conv_function_call): Reduce indirection for
1884         direct assignments of recursive array valued functions.
1885         * primary.c (gfc_match_rvalue): Correct error for recursive
1886         function calls such that directly recursive calls of scalar
1887         function without an explicit result are disallowed.
1888
1889 2007-05-11 Paul Thomas <pault@gcc.gnu.org>
1890
1891         PR fortran/30878
1892         * resolve.c (resolve_fl_namelist): It is not an error if the
1893         namelist element is the result variable of the enclosing
1894         function.  Search for the symbol in current and all parent
1895         namespaces for a potential conflict.
1896         * symbol.c (check_conflict): Remove the conflict between
1897         'in_namelist' and 'FL_PROCEDURE' because the symbol info
1898         is not available to exclude function result variables.
1899         * trans-io.c (nml_get_addr_expr): Use the fake result decl
1900         if the symbol is an implicit result variable.
1901
1902 2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
1903
1904         PR fortran/31474
1905         * decl.c (get_proc_name): If an entry has already been declared
1906         as a module procedure, pick up the symbol and the symtree and
1907         use them for the entry.
1908
1909 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1910
1911         PR fortran/31630
1912         * resolve.c (resolve_symbol): Remove the flagging mechanism from the
1913         formal namespace resolution and instead check that the formal
1914         namespace is not the current namespace.
1915
1916 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1917
1918         PR fortran/31692
1919         * trans-array.c (gfc_conv_array_parameter): Convert full array
1920         references to the result of the procedure enclusing the call.
1921
1922 2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
1923
1924         PR fortran/29397
1925         PR fortran/29400
1926         * decl.c (add_init_expr_to_sym): Expand a scalar initializer
1927         for a parameter array into an array expression with the right
1928         shape.
1929         * array.c (spec_dimen_size): Remove static attribute.
1930         * gfortran.h : Prototype for spec_dimen_size.
1931
1932 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1933
1934         PR fortran/31399
1935         * trans-stmt.c (gfc_trans_do): Handle large loop counts.
1936
1937 2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1938
1939         PR fortran/31764
1940         * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
1941         even for non constant arguments.
1942
1943 2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1944             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1945
1946         PR fortran/31201
1947         * gfortran.h: Add runtime error codes from libgfortran.h. Define
1948         MAX_UNIT_NUMBER.
1949         * trans.c (gfc_trans_runtime_check): Update the format of runtime error
1950         messages to match library runtime errors.  Use call to new library
1951         function runtime_error_at().
1952         * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
1953         Add declaration for library functions runtime_error_at and
1954         generate_error.
1955         * trans_io.c (gfc_trans_io_runtime_check): New function.
1956         (set_parameter_value): Add error checking for UNIT numbers.
1957         (set_parameter_ref): Initialize the users variable to zero. 
1958         (gfc_trans_open): Move setting of unit number to after setting of common
1959         flags so that runtime error trapping can be detected.
1960         (gfc_trans_close): Likewise. (build_filepos): Likewise.
1961         (gfc_trans_inquire): Likewise. (build_dt): Likewise.
1962         * trans-decl.c: Add declarations for runtime_error_at and
1963         generate_error. (gfc_build_builtin_function_decls): Build function
1964         declarations for runtime_error_at and generate_error.
1965
1966 2007-05-06  Paul Thomas  <pault@gcc.gnu.org>
1967
1968         PR fortran/31540
1969         * resolve.c (resolve_fl_procedure): Resolve constant character
1970         lengths.
1971
1972 2007-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1973
1974         PR fortran/31251
1975         * decl.c (match_char_spec): Add check for invalid character lengths.
1976
1977 2007-05-04  Brooks Moses  <brooks.moses@codesourcery.com>
1978
1979         * intrinsic.texi (CMPLX): Document result kind.
1980         (COMPLEX): Add documentation.
1981
1982 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1983
1984         PR fortran/31760
1985         * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
1986         by gfc_check_fn_r to avoid checks for scalarity.
1987         * check.c (gfc_check_besn): Removed check for scalarity.
1988         (gfc_check_g77_math1): Removed.
1989         * intrinsic.h (gfc_check_g77_math1): Removed.
1990
1991 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1992
1993         * check.c (gfc_check_fseek_sub): Fixed typo.
1994
1995 2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
1996
1997         PR fortran/22359
1998         * intrinsic.c (add_subroutines): Added FSEEK.
1999         * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
2000         * iresolve.c (gfc_resolve_fseek_sub): New.
2001         * check.c (gfc_check_fseek_sub): New.
2002         * intrinsic.texi (FSEEK): Updated.
2003
2004 2007-05-04  Tobias Burnus  <burnus@net-b.de>
2005
2006         PR fortran/31803
2007         * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
2008
2009 2007-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2010
2011         PR fortran/31251
2012         * simplify.c (gfc_simplify_len): Only simplify integer lengths.
2013
2014 2007-05-04  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2015
2016         PR fortran/31781
2017         * simplify.c (gfc_simplify_repeat): Don't put function call with
2018         side effect in a gcc_assert().
2019
2020 2007-05-04  Tobias Burnus  <burnus@net-b.de>
2021
2022         PR fortran/25071
2023         * interface.c (compare_actual_formal): Check character length.
2024
2025 2007-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
2026
2027         PR fortran/31732
2028         * dependency.c (gfc_full_array_ref_p):  If the reference is
2029         to a single element, check that the array has a single
2030         element and that the correct element is referenced.
2031
2032 2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
2033
2034         * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
2035         (add_subroutines): Replaced magic numbers in function calls by
2036         ELEMENTAL and NOT_ELEMENTAL respectively.
2037         * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
2038         (RANDOM_NUMBER): Changed class to subroutine.
2039         (HUGE, TINY): Changed class to inquiry function.
2040
2041 2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
2042
2043         * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
2044         (gfc_conv_tree_to_mpz): New function.
2045         (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
2046         (gfc_conv_tree_to_mpfr): New function.
2047         * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
2048         (gfc_conv_tree_to_mpfr): New prototype.
2049
2050 2007-04-30  Daniel Franke  <franke.daniel@gmail.com>
2051
2052         * intrinsic.texi (IERRNO): Changed class to non-elemental function.
2053         (LOG10): Removed COMPLEX as accepted argument type.
2054         (NEW_LINE): Changed class from elemental to inquiry function.
2055         (SIGN): Removed requirement of scalar arguments.
2056         (SNGL): Changed class to elemental function.
2057
2058 2007-04-29  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2059
2060         PR fortran/31591
2061         * simplify.c (simplify_bound_dim): New function.
2062         (simplify_bound): Use the above. Perform simplification of LBOUND
2063         and UBOUND when DIM argument is not present.
2064
2065 2007-04-29  Daniel Franke  <franke.daniel@gmail.com>
2066
2067         * gfortran.texi: Cleaned up keyword index.
2068         * invoke.texi: Likewise.
2069         * intrinsic.texi: Likewise.
2070                         
2071 2007-04-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2072
2073         PR fortran/31645
2074         * scanner.c (load_file): Discard the byte order mark if one is
2075         found on the first non-preprocessor line of a file.
2076
2077 2007-04-29  Paul Thomas  <pault@gcc.gnu.org>
2078
2079         PR fortran/31711
2080         * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
2081         whenever a dependency is found.
2082
2083 2007-04-28  Tobias Schlüter  <tobi@gcc.gnu.org>
2084
2085         * options.c (gfc_handle_option): Ensure requested free form line
2086         length is not too small.
2087
2088 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
2089
2090         * intrinsic.texi (Transfer): Improve documentation.
2091
2092 2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
2093
2094         * gfortran.texi (Option Index): Add @samp as needed.
2095
2096 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2097
2098         * gfortran.texi: Added node and menu entry for an option index.
2099         * invoke.texi: Moved command line option related entries of the concept 
2100         index to the option index.
2101
2102 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2103
2104         * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
2105         XOR): Fixed examples.
2106
2107 2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
2108
2109         * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
2110         SYSTEM_CLOCK, TRANSFER, UNPACK): New.
2111         (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
2112
2113 2007-04-26  Daniel Franke  <franke.daniel@gmail.com>
2114
2115         * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
2116         SIZE, TRANSPOSE, TRIM, VERIFY): New.
2117         (ADJUSTL, ADJUSTR, INDEX): Added cross references.
2118         (INT, INT2, INT8, LONG): Enabled section header.
2119
2120 2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
2121
2122         * module.c (module_char): Replace fgetc() with
2123         getc(). 
2124         (write_char): Replace fputc() with putc().
2125         * scanner.c (load_line): Replace fgetc() with getc().
2126         (gfc_read_orig_filename): Likewise.
2127
2128 2007-04-25  Tobias Burnus  <burnus@net-b.de>
2129
2130         PR fortran/31668
2131         * error.c (error_print): Fix %% support.
2132         * intrinsic.c (sort_actual): Improve error message.
2133         * resolve.c (resolve_actual_arglist): Allow %VAL for
2134         interfaces defined in the module declaration part.
2135
2136 2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2137
2138         PR libfortran/31299
2139         * intrinsic.texi (GETLOG): Update documentation to reflect
2140         library changes.
2141
2142 2007-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2143
2144         PR fortran/31587
2145         * module.c (write_char): Add character to the MD5 buffer.
2146         (read_md5_from_module_file): New function.
2147         (gfc_dump_module): Compute MD5 for new module file. Call
2148         read_md5_from_module_file. Only overwrite old module file
2149         if the new MD5 is different.
2150
2151 2007-04-23  Paul Thomas  <pault@gcc.gnu.org>
2152
2153         PR fortran/31630
2154         * resolve.c (resolve_symbol): Allow resolution of formal
2155         namespaces nested within formal namespaces coming from modules.
2156
2157         PR fortran/31620
2158         * trans-expr.c (gfc_trans_assignment): Make the call to
2159         gfc_trans_zero_assign conditional on the lhs array ref being
2160         the only reference.
2161
2162 2007-04-23  Tobias Burnus  <burnus@net-b.de>
2163
2164         * primary.c (match_integer_constant): Mention -fno-range-check
2165         in the error message.
2166
2167 2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2168
2169         PR fortran/31495
2170         * scanner.c (load_line):  Remove check for comment after ampersand and
2171         adjust tracking of ampersand.
2172
2173 2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2174
2175         * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
2176         instead of checking GIMPLE_STMT_P in chain_next.
2177
2178 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
2179
2180         * trans-types.h (gfc_packed): New enum.
2181         (gfc_get_nodesc_array_type): Change prototype to use new enum.
2182         * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
2183         argument packed.  Adapt all references to values accordingly.
2184         (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
2185         (gfc_get_derived_type): Likewise.
2186         * trans-array.c (gfc_build_constant_array_constructor): Likewise.
2187         * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
2188         argument to type gfc_packed.
2189         (gfc_add_interface_mapping): Use enum values in call to
2190         gfc_get_interface_mapping.
2191         * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
2192         values when determining packing.
2193
2194         * trans-decl.c (gfc_finish_decl): Remove unused second argument
2195         'init'.  Simplify code accordingly.  Remove calls to
2196         gfc_fatal_error in favor of gcc_assert.
2197         (create_function_arglist): Remove second argument from calls to
2198         gfc_finish-decl.
2199         (gfc_trans_dummy_character): Likewise.
2200
2201         * arith.h: Update copyright years.
2202         * dependency.h: Likewise.
2203         * gfortran.h: Likewise.
2204         * lang-specs.h: Likewise.
2205         * parse.h: Likewise.
2206         * symbol.c: Likewise.
2207         * trans.h: Likewise.
2208         * trans.c: Likewise.
2209         * trans-array.c: Likewise.
2210         * trans-common.c: Likewise.
2211         * trans-const.h: Likewise.
2212         * trans-const.c: Likewise.
2213         * trans-decl.c: Likewise.
2214         * trans-expr.c: Likewise.
2215         * trans-io.c: Likewise.
2216         * trans-openmp.c: Likewise.
2217         * trans-types.h: Likewise.
2218         * types.def: Likewise.
2219
2220 2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
2221
2222         PR fortran/31144
2223         * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
2224         mangling.
2225         (gfc_sym_mangled_function_id): Likewise.
2226
2227 2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
2228
2229         PR fortran/31204
2230         * primary.c (check_for_implicit_index): New function to check
2231         that a host associated variable is not an undeclared implied
2232         do loop index.
2233         (gfc_match_rvalue, match_variable): Use it and reset the
2234         implied_index attribute.
2235         * gfortran.h : Add the implied_index field to symbol_attribute.
2236         * match.c (gfc_match_iterator): Mark the iterator variable
2237         with the new attribute.
2238         * decl.c (build_sym): Reset the new attribute.
2239
2240 2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
2241
2242         * gfc-internals.texi: Fix typos.
2243         * simplify.c: Fix a comment typo.
2244
2245 2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
2246
2247         * primary.c: Commentary typo fix; Add question about redundant (?)
2248         set.
2249
2250 2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
2251
2252         PR fortran/29507
2253         PR fortran/31404
2254         * expr.c (scalarize_intrinsic_call): New function to
2255         scalarize elemental intrinsic functions in initialization
2256         expressions.
2257         (check_init_expr): Detect elemental intrinsic functions
2258         in initalization expressions and call previous.
2259
2260 2007-04-13  Tobias Burnus  <burnus@net-b.de>
2261
2262         PR fortran/31559
2263         * primary.c (match_variable): External functions
2264         are no variables.
2265
2266 2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
2267
2268         PR fortran/31550
2269         * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
2270         derived type components.
2271
2272 2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
2273
2274         PR fortran/18937
2275         * resolve.c: Include obstack.h and bitmap.h.  New variable
2276         labels_obstack.
2277         (code_stack): Add tail and reachable_labels fields.
2278         (reachable_labels): New function.
2279         (resolve_branch): Rework to use new fields in code_stack.
2280         (resolve_code): Call reachable_labels.
2281         (resolve_codes): Allocate and free labels_obstack.
2282
2283 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
2284
2285         PR fortran/31250
2286         * decl.c (match_char_spec): Move check for negative CHARACTER
2287         length ...
2288         * resolve.c (resolve_charlen): ... here.
2289         (resolve_types): Resolve CHARACTER lengths earlier.
2290
2291 2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
2292
2293         PR fortran/31234
2294         * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
2295
2296 2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
2297
2298         PR fortran/31266
2299         * primary.c (gfc_variable_attr): Don't copy string length if it
2300         doesn't make sense.
2301         * resolve.c (resolve_code): Clarify error message.
2302
2303         PR fortran/31471
2304         * decl.c (gfc_match_end): Also check for construct name in END
2305         FORALL and END WERE statements.
2306         * match.c (match_case_eos): Use uppercase for statement name in
2307         error message.
2308         (match_elsewhere): Construct name may appear iff construct has a
2309         name.
2310
2311         * trans-types.c: Update copyright years.  Reformat long comment
2312         explaining array descriptor format.  Remove obsolete mention of
2313         TYPE_SET.
2314
2315         * arith.c (gfc_arith_uplus): Rename to ...
2316         (gfc_arith_identity): ... this.
2317         (gfc_parentheses): New function.
2318         (gfc_uplus): Adapt to renamed function.
2319         * arith.h (gfc_parentheses): Add prototype.
2320         * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
2321         (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
2322         INTRINSIC_PARENTHESES.
2323
2324 2007-04-12  Tobias Burnus  <burnus@net-b.de>
2325
2326         PR fortran/31472
2327         * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
2328         attribute in type definitions.
2329         (gfc_match_private): Allow PRIVATE statement only
2330         in specification part of modules.
2331         (gfc_match_public): Ditto for PUBLIC.
2332         (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
2333         specificification part of modules.
2334
2335 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2336
2337         PR fortran/31257
2338         * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
2339         * intrinsic.h : Add prototype for gfc_resolve_achar.
2340         * iresolve.c (gfc_resolve_achar): New function.
2341
2342 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2343
2344         PR fortran/30880
2345         * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
2346         arrays.  Make condition for automatic array error explicit.
2347         If a dummy, no error on an INTENT(OUT) derived type.
2348
2349 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2350
2351         PR fortran/30872
2352         * expr.c (find_array_element): Correct arithmetic for rank > 1.
2353
2354 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2355
2356         PR fortran/31222
2357         * check.c (numeric_check): If an expresson has not got a type,
2358         see if it is a symbol for which a default type applies.
2359
2360 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2361
2362         PR fortran/31214
2363         * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
2364         associated symbols.
2365
2366 2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
2367
2368         PR fortran/31293
2369         * symbol.c (gfc_check_function_type): New function.
2370         * gfortran.h : Add prototype for previous.
2371         * parse.c (parse_progunit): Call it after parsing specification
2372         statements.
2373
2374 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
2375
2376         PR fortran/31483
2377         * trans-expr.c (gfc_conv_function_call): Give a dummy
2378         procedure the correct type if it has alternate returns.
2379
2380 2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
2381
2382         PR fortran/31292
2383         * decl.c (gfc_match_modproc): Go up to the top of the namespace
2384         tree to find the module namespace for gfc_get_symbol.
2385
2386 2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2387
2388         PR fortran/31304
2389         * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
2390         * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
2391         (gfc_init_types): Define gfc_charlen_int_kind. 
2392         * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
2393         * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
2394         (gfc_build_intrinsic_function_decls): Don't set
2395         gfor_fndecl_string_repeat.
2396         * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
2397         so that we don't have to call a library function.
2398         * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
2399         checks on the NCOPIES argument, and work with arbitrary size
2400         arguments.
2401
2402 2007-03-31  Tobias Burnus  <burnus@net-b.de>
2403
2404         * intrinsic.c (add_functions): Fix name of dummy argument
2405           for new_line and exit intrinsic.
2406
2407 2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
2408
2409         PR fortran/31160
2410         * gfortran.texi: Add a section for the %VAL, %REF and %LOC
2411         extensions.
2412
2413 2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
2414
2415         * trans-types.c (gfc_signed_or_unsigned_type): Remove.
2416         (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
2417         gfc_signed_or_unsigned_type.
2418         (gfc_signed_type): Ditto.
2419         * trans-types.h (gfc_signed_or_unsigned_type): Remove.
2420         * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
2421
2422 2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
2423
2424         * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
2425         descend into all branches.
2426
2427 2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
2428
2429         * intrinsic.c (conv_name): Let gfc_get_string handle the format.
2430         (find_conv): Compare pointers instead of calling strcmp.
2431         (find_sym): Likewise, but ensure that the compared pointer is in
2432         the global string table.
2433
2434 2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
2435
2436         * gfc-internals.texi: Fix output filename.  Merge type index into
2437         concept index.  Start documentation of gfc_code structure.
2438
2439 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2440
2441         * gfc-internals.texi: New file,
2442         * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
2443
2444 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2445  
2446         * error.c (show_locus): Remove always-false test.
2447
2448 2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
2449
2450         * lang.opt: Minor edits to descriptions.
2451
2452 2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2453
2454         PR fortran/30877
2455         * fortran/interface.c (check_operator_interface): Implement
2456         the standard checks on user operators extending intrinsic operators.
2457         * fortran/resolve.c (resolve_operator): If the ranks of operators
2458         don't match, don't error out but try the user-defined ones first.
2459
2460 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2461
2462         PR fortran/30655
2463         * expr.c (check_dimension): Fix logic of comparisons.
2464
2465 2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
2466
2467         PR fortran/31215
2468         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
2469         int result that is non-zero if the expression is the function
2470         result.  Only the characteristics of the result expression
2471         can be used in a procedure interface, so simplify LEN in situ
2472         using its character length.
2473
2474         PR fortran/31209
2475         PR fortran/31200
2476         * trans-expr.c (gfc_conv_function_call): Do not use
2477         gfc_conv_expr_reference for actual pointer function with formal
2478         target because a temporary is created that does not transfer
2479         the reference correctly.  Do not indirect formal pointer
2480         functions since it is the function reference that is needed.
2481
2482 2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
2483
2484         * gfortran.h: Edit comments on GFC_STD_*.
2485
2486 2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
2487
2488         * invoke.texi: Misc. small typo fixes.
2489         (-Wcharacter-truncation): Add.
2490         (-Wnonstd-intrinsics): Correct spelling.
2491         (-std=): Edit.
2492         (-fintrinsic-modules-path): Add.
2493
2494 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2495
2496         PR fortran/30834
2497         * arith.c (complex_pow): Rewrite to handle large power.
2498         (gfc_arith_power): Handle large power in the real and integer
2499         cases.
2500
2501 2007-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2502
2503         PR fortran/31262
2504         * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
2505         larger than twice the width of a HOST_WIDE_INT.
2506
2507 2006-03-22  Paul Thomas  <pault@gcc.gnu.org>
2508
2509         PR fortran/31193
2510         * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
2511         (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
2512         Explicitly extract TREE_TYPEs for source and mold.  Use these
2513         to calculate length of source and mold, except for characters,
2514         where the se string_length is used.  For mold, the TREE_TYPE is
2515         recalculated using gfc_get_character_type_len so that the
2516         result is correctly cast for character literals and substrings.
2517         Do not use gfc_typenode_for_spec for the final cast.
2518
2519 2007-03-22  Tobias Schlüter  <tobi@gcc.gnu.org>
2520
2521         PR fortran/20897
2522         * decl.c (gfc_match_derived_decl): Reliably reject
2523         'doubleprecision' and 'doublecomplex' as type names.
2524
2525 2007-03-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2526
2527         PR fortran/31203
2528         * trans-expr.c (gfc_trans_init_string_length): Length should
2529         never be negative.
2530         (gfc_conv_function_call): Likewise.
2531
2532 2007-03-18  Paul Thomas  <pault@gcc.gnu.org>
2533
2534         PR fortran/30531
2535         PR fortran/31086
2536         * symbo.c : Add gfc_derived_types.
2537         (gfc_free_dt_list): Free derived type list gfc_derived_types.
2538         (gfc_free_namespace): Remove call to gfc_free_dt_list.
2539         (gfc_symbol_done_2): Call  gfc_free_dt_list.
2540         * gfortran.h : Declare gfc_derived_types to be external. Remove
2541         derived types field from gfc_namespace.
2542         * resolve.c (resolve_fl_derived): Refer to gfc_derived types
2543         rather than namespace derived_types.
2544         (resolve_fntype): Remove special treatment for module
2545         derived type functions.
2546         * trans-types.c (gfc_get_derived_type): Remove search for like
2547         derived types.  Finish by copying back end declaration to like
2548         derived types in the derived type list gfc_derived_types.
2549
2550         2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2551
2552         PR fortran/31120
2553         * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
2554         (gfc_conv_cst_int_power): Handle integer exponent with care,
2555         since it might be too large for us.
2556
2557 2007-03-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2558
2559         PR fortran/31184
2560         * invoke.texi: Fix typo.
2561
2562 2007-03-16  Tobias Burnus  <burnus@net-b.de>
2563
2564         * trans-decl.c (gfc_generate_function_code): Use all arguments of
2565           set_std.
2566
2567 2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2568
2569         * gfortran.h (gfc_option_t): Add flag_backtrace field.
2570         * lang.opt: Add -fbacktrace option.
2571         * invoke.texi: Document the new option.
2572         * trans-decl.c (gfc_build_builtin_function_decls): Add new
2573         option to the call to set_std.
2574         * options.c (gfc_init_options, gfc_handle_option): Handle the
2575         new option.
2576
2577 2007-03-15  Tobias Burnus  <burnus@gcc.gnu.org>
2578             Paul Thomas  <pault@gcc.gnu.org>
2579
2580         PR fortran/30922
2581         * decl.c (gfc_match_import): If the parent of the current name-
2582         space is null, try looking for an imported symbol in the parent
2583         of the proc_name interface.
2584         * resolve.c (resolve_fl_variable): Do not check for blocking of
2585         host association by a same symbol, if the symbol is in an
2586         interface body.
2587
2588 2007-03-15  Paul Thomas  <pault@gcc.gnu.org>
2589
2590         PR fortran/30879
2591         * decl.c (match_data_constant): Before going on to try to match
2592         a name, try to match a structure component.
2593
2594
2595         PR fortran/30870
2596         * resolve.c (resolve_actual_arglist): Do not reject a generic
2597         actual argument if it has a same name specific interface.
2598
2599         PR fortran/31163
2600         * trans-array.c (parse_interface): Do not nullify allocatable
2601         components if the symbol has the saved attribute.
2602
2603 2007-03-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2604
2605         * trans-array.c (gfc_trans_auto_array_allocation): Replace
2606         fold(convert()) by fold_convert().
2607         (gfc_duplicate_allocatable): Likewise.
2608         * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
2609         build_int_cst instead of converting an integer_zero_node
2610         to the final type.
2611
2612 2007-03-14  Jakub Jelinek  <jakub@redhat.com>
2613
2614         * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
2615
2616 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
2617
2618         PR fortran/30933
2619         PR fortran/30948
2620         PR fortran/30953
2621         * intrinsics.texi (CHDIR): Fix argument names, note
2622         that STATUS must be a default integer.
2623         (CTIME): Fix argument names, note that RESULT must
2624         be a default integer.
2625         (EXIT): Note that STATUS must be a default integer.
2626
2627 2007-03-13  Brooks Moses  <brooks.moses@codesourcery.com>
2628
2629         PR fortran/28068
2630         * intrinsic.texi: General whitespace cleanup, remove
2631         comment about missing intrinsics.
2632         (menu): Add lines for new entries listed below.
2633         (ACOSH): Mention specific function DACOSH, correct
2634         description phrasing.
2635         (ASINH): Mention specific function DASINH, correct
2636         description phrasing.
2637         (ATANH): Mention specific function DATANH, correct
2638         description phrasing.
2639         (COS): Add index entry for CCOS.
2640         (CPU_TIME): Correct "REAL" to "REAL(*)".
2641         (EXP): Add index entry for CEXP.
2642         (INT): Correct argument name to "A".
2643         (INT2): New entry.
2644         (INT8): New entry.
2645         (LONG): New entry.
2646         (MAX): Add index entries for specific variants.
2647         (MCLOCK): New entry.
2648         (MCLOCK8): New entry.
2649         (SECNDS): Adjust to a more standard form.
2650         (SECOND): New entry.
2651         (TIME): Add cross-reference to MCLOCK.
2652         (TIME8): Add cross-reference to MCLOCK8.
2653
2654 2007-03-11  Paul Thomas  <pault@gcc.gnu.org>
2655
2656         PR fortran/30883
2657         * parse.c (parse_interface): Use the default types from the
2658         formal namespace if a function or its result do not have a type
2659         after parsing the specification statements.
2660
2661 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2662
2663         * intrinsic.texi: (ICHAR) Improve internal I/O note.
2664         (ACHAR): Reference it.
2665         (CHAR): Reference it.
2666         (IACHAR): Reference it.
2667
2668 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2669
2670         * intrinsic.texi: (LINK) Document function form.
2671         (RENAME): Likewise.
2672         (SYMLNK): Likewise.
2673         (SYSTEM): Likewise.
2674         (UNLINK): Likewise.
2675
2676 2007-03-08  Brooks Moses  <brooks.moses@codesourcery.com>
2677
2678         * intrinsic.texi: minor typo fixes, removed prologue.
2679         (FSEEK): moved to correct place in alphabetical order.
2680
2681 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
2682
2683         PR fortran/30947
2684         * check.c (gfc_check_alarm_sub): Added check for default integer 
2685         kind of status argument.
2686         * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of 
2687         status argument.
2688         * intrinsic.texi (ALARM): Extended documentation.
2689
2690 2007-03-08  Daniel Franke  <franke.daniel@gmail.com>
2691
2692         * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
2693         (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
2694         * intrinsic.c (add_subroutines): Adjusted dummy argument names 
2695         of GERROR and TTYNAM.
2696
2697 2007-07-08  Tobias Burnus  <burnus@net-b.de>
2698
2699         * module.c (gfc_match_use): Support renaming of operators
2700         in USE statements.
2701         * gfortran.texi (Fortran 2003 Status): Document support of
2702         renaming of operators.
2703
2704 2007-07-08  Tobias Burnus  <burnus@net-b.de>
2705
2706         PR fortran/30973
2707         * module.c (read_module): Always import module name as symbol.
2708         (gfc_match_use): Disallow module name in the only clause of
2709         a use statement.
2710
2711 2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
2712
2713         PR fortran/31011
2714         * expr.c (find_array_section): Correct arithmetic for section
2715         size.
2716
2717 2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
2718
2719         * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
2720
2721 2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
2722
2723         PR documentation/30950
2724         * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
2725         (FREE): Fix call syntax.
2726
2727 2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
2728
2729         * intrinsic.texi: Limit column widths to a total of .85.
2730
2731 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2732
2733         * gfortran.texi (GFortran and G77): Rewrite completely.
2734
2735 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2736
2737         * match.c (gfc_match_name): Expanded comment.
2738
2739 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2740
2741         * gfortran.texi (Old-style kind specifications): Document
2742         special handling of old-style kind specifiers for COMPLEX.
2743         * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
2744         assumptions for COMPLEX in comment.
2745
2746 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
2747
2748         PR 31050
2749         * gfortranspec.c (lang_specific_driver): Update program
2750         name and copyright date.
2751
2752 2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
2753
2754         PR fortran/30882
2755         * check.c (dim_rank_check): The shape of subsections of
2756         assumed-size arrays is known.
2757
2758 2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
2759             Tobias Burnus  <burnus@net-b.de>
2760
2761         PR fortran/30873
2762         * decl.c (gfc_match_entry): Remove erroneous entry result check.
2763
2764 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
2765
2766         * Make-lang.in: Add install-pdf target as copied from
2767         automake v1.10 rules.
2768
2769 2007-03-01  Tobias Burnus  <burnus@net-b.de>
2770
2771         PR fortran/30865
2772         * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
2773
2774 2007-02-28  Tobias Burnus  <burnus@net-b.de>
2775             Paul Thomas  <pault@gcc.gnu.org>
2776
2777         PR fortran/30888
2778         PR fortran/30887
2779         * resolve.c (resolve_actual_arglist): Allow by-value
2780         arguments and non-default-kind for %VAL().
2781         * trans-expr.c (conv_arglist_function): Allow
2782         non-default-kind for %VAL().
2783
2784 2007-02-28  Tobias Burnus  <burnus@net-b.de>
2785
2786         PR fortran/30968
2787         * primary.c (next_string_char): Correct reading a character
2788         after the delimiter.
2789         (match_string_constant): Print warning message only once.
2790
2791 2007-02-27  Richard Guenther  <rguenther@suse.de>
2792
2793         * trans-array.c (structure_alloc_comps): Use correct type
2794         for null pointer constant.
2795
2796 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
2797
2798         * gfortran.texi: Standardize title page, remove version number
2799         from copyright page.
2800
2801 2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
2802             Paul Thomas  <pault@gcc.gnu.org>
2803
2804         PR fortran/30865
2805         * trans-intrinsic.c (gfc_conv_intrinsic_size):
2806         If dim is an optional argument, check for its
2807         presence and call size0 or size1, respectively.
2808
2809 2007-02-23  Paul Thomas <pault@gcc.gnu.org>
2810
2811         PR fortran/30660
2812         * resolve.c (has_default_initializer): New function.
2813         (resolve_fl_variable): Call has_default_initializer to determine if
2814         the derived type has a default initializer to its ultimate
2815         components.
2816
2817
2818 2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2819
2820         * options.c (set_default_std_flags): New function to consolidate
2821         setting the flags.
2822         (gfc_init_options): Use new function.
2823         (gfc_handle_option): Use new function.
2824
2825 2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
2826
2827         * gfortran.texi (Old-style kind specifications): Document
2828         special handling of old-style kind specifiers for COMPLEX.
2829         * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
2830         assumptions in comment.
2831
2832 2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
2833
2834         * parse.c (next_free): Gooble spaces after OpenMP sentinel.
2835
2836 2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
2837
2838         PR fortran/30869
2839         * match.c (gfc_match_iterator): Remove conflict between
2840         loop variable and pointer.
2841
2842 2007-02-20  Tobias Burnus  <burnus@net-b.de>
2843
2844         PR fortran/30522
2845         * symbol.c (gfc_add_volatile): Allow to set VOLATILE
2846           attribute for host-associated variables.
2847         * gfortran.h (symbol_attribute): Save namespace
2848           where VOLATILE has been set.
2849         * trans-decl.c (gfc_finish_var_decl): Move variable
2850           declaration to the top.
2851
2852 2007-02-20  Tobias Burnus  <burnus@net-b.de>
2853
2854         PR fortran/30783
2855         * resolve.c (resolve_symbol): Add character dummy VALUE check.
2856
2857 2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
2858
2859         PR libfortran/30533
2860         * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
2861         argument to default integer.
2862         (gfc_resolve_minloc): Likewise.
2863
2864 2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2865
2866         PR fortran/30681
2867         * options.c (gfc_init_options): Relax warning level for obsolescent.
2868         * match.c (match_arithmetic_if): Change to obsolescent from deleted.
2869         (gfc_match_if): Same.
2870
2871 2007-02-18  Roger Sayle  <roger@eyesopen.com>
2872
2873         * trans-array.c (gfc_build_constant_array_constructor): When the
2874         shape of the constructor is known, use that to construct the
2875         gfc_array_spec.
2876         (gfc_trans_constant_array_constructor): Initialize the "info"
2877         information for all of the dimensions of the array constructor.
2878         (constant_array_constructor_loop_size): New function.
2879         (gfc_trans_array_constructor): Use it to determine whether a
2880         loop is suitable for "constant array constructor" optimization.
2881
2882         * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
2883         instead of build2, to avoid conditions like "(a != b) != 0".
2884
2885 2007-02-18  Roger Sayle  <roger@eyesopen.com>
2886             Paul Thomas <pault@gcc.gnu.org>
2887
2888         PR fortran/30400
2889         * match.c (match_forall_iterator): Use gfc_match_expr instead
2890         of gfc_match_variable to match the iterator variable.  Return
2891         MATCH_NO if not a variable.  Remove the reset of the symbol's
2892         flavor in cleanup.
2893
2894 2007-02-16  Tobias Burnus  <burnus@net-b.de>
2895
2896         PR fortran/30793
2897         * trans-decl.c (gfc_generate_function_code): Do not initialize
2898         pointers to derived components.
2899
2900 2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
2901             Brooks Moses  <brooks.moses@codesourcery.com>
2902             Lee Millward  <lee.millward@codesourcery.com>
2903
2904         * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
2905         (gfc_conv_string_tmp): Likewise.
2906         (gfc_conv_concat_op): Likewise.
2907         (gfc_build_compare_string): Likewise.
2908         (gfc_conv_function_call): Use build_call_list instead of build3.
2909
2910         * trans-array.c (gfc_trans_allocate_array_storage): Use
2911         build_call_expr.
2912         (gfc_grow_array): Likewise.
2913         (gfc_trans_array_ctor_element): Likewise.
2914         (gfc_trans_array_constructor_value): Likewise.
2915         (gfc_array_allocate): Likewise.
2916         (gfc_array_deallocate): Likewise.
2917         (gfc_trans_auto_array_allocation): Likewise.
2918         (gfc_trans_dummy_array_bias): Likewise.
2919         (gfc_conv_array_parameter): Likewise.
2920         (gfc_trans_dealloc_allocated): Likewise.
2921         (gfc_duplicate_allocatable): Likewise.
2922
2923         * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
2924         (gfc_trans_omp_flush): Likewise.
2925
2926         * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
2927         (gfc_trans_pause): Likewise.
2928         (gfc_trans_stop): Likewise.
2929         (gfc_trans_character_select): Likewise.
2930         (gfc_do_allocate): Likewise.
2931         (gfc_trans_assign_need_temp): Likewise.
2932         (gfc_trans_pointer_assign_need_temp): Likewise.
2933         (gfc_trans_forall_1): Likewise.
2934         (gfc_trans_where_2): Likewise.
2935         (gfc_trans_allocate): Likewise.
2936         (gfc_trans_deallocate): Likewise.
2937
2938         * trans.c (gfc_trans_runtime_check): Use build_call_expr.
2939
2940         * trans-io.c (gfc_trans_open): Use build_call_expr.
2941         (gfc_trans_close): Likewise.
2942         (build_filepos): Likewise.
2943         (gfc_trans_inquire): Likewise.
2944         (NML_FIRST_ARG): Delete.
2945         (NML_ADD_ARG): Delete.
2946         (transfer_namelist_element): Use build_call_expr.
2947         (build_dt): Likewise.
2948         (gfc_trans_dt_end): Likewise.
2949         (transfer_expr): Likewise.
2950         (transfer_array-desc): Likewise.
2951
2952         * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
2953         (gfc_generate_constructors): Likewise.
2954
2955         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
2956         (gfc_conv_intrinsic_fdate): Likewise.
2957         (gfc_conv_intrinsic_ttynam): Likewise.
2958         (gfc_conv_intrinsic_array_transfer): Likewise.
2959         (gfc_conv_associated): Likewise.
2960         (gfc_conv_intrinsic_si_kind): Likewise.
2961         (gfc_conv_intrinsic_trim): Likewise.
2962         (gfc_conv_intrinsic_repeat: Likewise.
2963         (gfc_conv_intrinsic_iargc): Likewise.
2964
2965 2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2966
2967         PR fortran/30779
2968         * scanner.c (gfc_next_char_literal): Add check for end of file after
2969         call to advance_line.
2970
2971 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
2972
2973         PR fortran/30799
2974         * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
2975         kind.
2976
2977 2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
2978
2979         * misc.c (gfc_typename): Fix potential buffer overflow.
2980
2981 2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
2982
2983         PR fortran/30554
2984         * module.c (read_module): Set pointer_info to referenced if the
2985         symbol has no namespace.
2986
2987 2007-02-12  Nick Clifton  <nickc@redhat.com>
2988
2989         * lang.opt: Add Warning attribute to warning options.
2990
2991 2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
2992
2993         * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
2994         (SLEEP): Added section and documentation.
2995
2996 2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
2997
2998         PR fortran/30478
2999         * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
3000         (variable_decl): Likewise.  Rewrap comment.
3001         (match_attr_spec): Remove ENUM specific code.
3002         (gfc_match_enum): Fix typo in error message.
3003         (enumerator_decl): New function.
3004         (gfc_match_enumerator_def): Use enumerator_decl instead of
3005         variable_decl.  Adapt code accordingly.
3006
3007 2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
3008
3009         PR fortran/30554
3010         * module.c (find_symtree_for_symbol): New function to return
3011         a symtree that is not a "unique symtree" given a symbol.
3012         (read_module): Do not automatically set pointer_info to
3013         referenced because this inhibits the generation of a unique
3014         symtree.  Recycle the existing symtree if possible by calling
3015         find_symtree_for_symbol.
3016
3017         PR fortran/30319
3018         * decl.c (add_init_expr_to_sym): Make new charlen for an array
3019         constructor initializer.
3020
3021 2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
3022
3023         * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
3024         and __emutls_register_common.
3025         * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
3026         * trans-common.c (build_common_decl): Don't check have_tls.
3027         * trans-decl.c (gfc_finish_var_decl): Likewise.
3028         * types.def (BT_WORD, BT_FN_PTR_PTR): New.
3029         (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
3030
3031 2007-02-09  Tobias Burnus  <burnus@net-b.de>
3032
3033         PR fortran/30512
3034         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
3035           gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
3036
3037 2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3038
3039         PR fortran/30720
3040         * trans-array.c (gfc_trans_create_temp_array): Remove use of the
3041         function argument. Always generate code for negative extent.
3042         Simplify said code.
3043         * trans-array.h (gfc_trans_create_temp_array): Change prototype.
3044         * trans-expr.c (gfc_conv_function_call): Remove use of last argument
3045         of gfc_trans_create_temp_array.
3046         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
3047         * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
3048
3049 2007-02-08  Roger Sayle  <roger@eyesopen.com>
3050
3051         * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
3052         mask expression is a compile-time constant (".true." or ".false.").
3053
3054 2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3055
3056         PR fortran/30611
3057         * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
3058         arguments only once. Generate check that NCOPIES argument is not
3059         negative.
3060
3061 2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
3062
3063         PR fortran/30605
3064         * fortran/invoke.texi: Update documentation.
3065         * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
3066         and -pedantic.
3067
3068 2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
3069
3070         * trans-array.c: Fix a comment typo.
3071
3072 2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
3073
3074         PR fortran/30514
3075         * array.c (match_array_element_spec): If the length of an array is
3076         negative, adjust the upper limit to make it zero length.
3077
3078         PR fortran/30660
3079         * resolve.c (pure_function, resolve_function): Initialize name to
3080         null to clear up build warnings.
3081         (resolve_fl_variable): Look at components explicitly to check for
3082         default initializer, rather than using gfc_default_initializer.
3083
3084 2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
3085
3086         PR fortran/30683
3087         * resolve.c (resolve_generic_f): Check for non-NULL sym.
3088
3089 2007-02-02  Roger Sayle  <roger@eyesopen.com>
3090
3091         * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
3092         NON_LVALUE_EXPR nodes and useless type conversions.
3093
3094 2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
3095
3096         PR fortran/30284
3097         PR fortran/30626
3098         * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
3099         from function and make sure that substring lengths are
3100         translated.
3101         (is_aliased_array): Remove static attribute.
3102         * trans.c : Add prototypes for gfc_conv_aliased_arg and
3103         is_aliased_array.
3104         * trans-io.c (set_internal_unit): Add the post block to the
3105         arguments of the function.  Use is_aliased_array to check if
3106         temporary is needed; if so call gfc_conv_aliased_arg.
3107         (build_dt): Pass the post block to set_internal_unit and
3108         add to the block after all io activiy is done.
3109
3110 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3111
3112         * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
3113         a temporary array to pass a constant non-character array constructor.
3114         Generalize the descriptor generation code to handle scalarizer
3115         "info" without an array reference.
3116
3117 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3118
3119         * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
3120         dependency checking for array constructors.
3121
3122 2007-02-01  Roger Sayle  <roger@eyesopen.com>
3123
3124         * trans-stmt.c (compute_overall_iter_number): Document function
3125         arguments.  Generalize "unconditional forall nest with constant
3126         bounds" optimization to eliminate unconditional inner loops with
3127         constant bounds.
3128
3129 2007-01-31  Tobias Burnus  <burnus@net-b.de>
3130
3131         PR fortran/30520
3132         * interface.c (compare_actual_formal): Check conformance between
3133           actual and VOLATILE dummy arguments.
3134         * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
3135           multiple times in different scopes.
3136         * decl.c (gfc_match_volatile): Search symbol in host association.
3137
3138 2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
3139
3140         * simplify.c, trans-array.c: Fix comment typos.
3141
3142 2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3143
3144         * invoke.texi (Code Gen Options): Fix abbreviation typo.
3145         * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
3146
3147 2007-01-30  Steve Ellcey  <sje@cup.hp.com>
3148
3149         PR fortran/30432
3150         * trans-types.c (gfc_get_function_type): Do not add void_type_node
3151         to empty arg list.
3152         * trans-decl.c (create_function_arglist): Change assert.
3153
3154 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
3155
3156         PR fortran/30554
3157         * module.c (read_module): If a symbol is excluded by an ONLY
3158         clause, check to see if there is a symtree already loaded. If
3159         so, attach the symtree to the pointer_info.
3160
3161 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
3162
3163         PR libfortran/30389
3164         * gfortran.h: Remove gfc_simplify_init_1.
3165         * arith.h: Remove third argument from gfc_compare_string.
3166         * arith.c (gfc_compare_expression): Remove third argument
3167         from call to gfc_compare_string.
3168         (gfc_compare_string): Remove third argument xcoll_table.
3169         Remove use of xcoll_table.
3170         * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
3171         * simplify.c (ascii_table): Remove.
3172         (xascii_table): Likewise.
3173         (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
3174         ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
3175         (gfc_simplify_char): ICE if extract_int fails. Error if
3176         value < 0 or value > 255.
3177         (gfc_simplify_iachar): Remove use of xascii_table.
3178         Char values outside of 0..255 are an ICE.
3179         (gfc_simplify_lge): Remove use of xascii_table.
3180         (gfc_simplify_lgt): Likewise.
3181         (gfc_simplify_lle): Likewise.
3182         (gfc_simplify_llt): Likewise.
3183         (invert_table): Remove.
3184         (gfc_simplify_init_1): Remove.
3185
3186 2007-01-27  Roger Sayle  <roger@eyesopen.com>
3187
3188         * trans-stmt.c (forall_info): Replace the next_nest and outer
3189         fields that previously implemented a doubly-linked list with a
3190         single prev_nest field (singly-linked list).
3191         (gfc_trans_nested_forall_loop): The nested_forall_info argument
3192         now denotes the innermost FORALL in the loop nest.
3193         (compute_overall_iter_number): Use prev_nest instead of next_nest.
3194         (gfc_trans_forall_1): Link/cons the new "info" to the head of the
3195         nested_forall_info linked list.  Free the current "info" when done.
3196
3197 2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
3198
3199         PR fortran/30407
3200         * trans-expr.c (gfc_conv_operator_assign): New function.
3201         * trans.h : Add prototype for gfc_conv_operator_assign.
3202         * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
3203         a potential operator assignment subroutine.  If it is non-NULL
3204         call gfc_conv_operator_assign instead of the first assignment.
3205         ( gfc_trans_where_2): In the case of an operator assignment,
3206         extract the argument expressions from the code for the
3207         subroutine call and pass the symbol to gfc_trans_where_assign.
3208         resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
3209         gfc_resolve_forall_body): Resolve the subroutine call for
3210         operator assignments.
3211
3212 2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
3213             Steven G. Kargl <kargl@gcc.gnu.org>
3214
3215         PR fortran/30278
3216         * fortran/io.c (next_char): Deal with backslash escaped characters.
3217         Issue warnings in non -std=gnu cases.
3218         * fortran/primary.c (next_string_char): Issue warnings in non
3219
3220 2007-01-26  Tobias Burnus  <burnus@net-b.de>
3221
3222         * lang-specs.h: Add support for .f03 and .F03 extensions.
3223         * gfortran.texi: Document .f03 extension.
3224         * options.c (form_from_filename): Recognize .f03.
3225
3226 2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3227
3228         PR fortran/30437
3229         * lang.opt (Wall): Remove RejectNegative.
3230         * options.c (gfc_handle_option): Wall can be disabled.
3231         (set_Wall): Add a parameter for disabling Wall.
3232         
3233 2007-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3234
3235         PR fortran/30532
3236         * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
3237         
3238 2007-01-23  Paul Thomas  <pault@gcc.gnu.org>
3239
3240         PR fortran/30481
3241         * match.c (gfc_match_namelist): Add check for assumed size character
3242         in namelist and provide error if found.
3243
3244 2007-01-21  Brooks Moses  <brooks.moses@codesourcery.com>
3245
3246         * intrinsic.texi (ACHAR): Added cross-references.
3247         (CHAR): Put cross-references in alphabetical order.
3248         (IACHAR): Added cross-references.
3249         (ICHAR): Added cross-references.
3250
3251 2007-01-20  Brooks Moses  <brooks.moses@codesourcery.com>
3252
3253         * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
3254         (MAXVAL): Corrected description of result characteristics.
3255         (MINVAL): Same.
3256         (UMASK): Added documentation.
3257
3258 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
3259
3260         * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
3261         parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
3262         in the massive whitespace patch.
3263
3264 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3265
3266         * module.c (mio_array_ref): The dimen_type fields of an array ref
3267         are an enumerated type and can't be read/written directly with a
3268         call to mio_integer.  Instead loop over and cast each element.
3269
3270 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3271
3272         * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
3273         i.e. that the ARRAY_REF doesn't mention components.
3274         * trans-array.c (gfc_constant_array_constructor_p): Export external
3275         function renamed from constant_array_constructor_p.
3276         (gfc_build_constant_array_constructor): Export.
3277         (gfc_trans_array_constructor): Update call to the renamed function
3278         constant_array_constructor_p.
3279         * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
3280         (gfc_build_constant_array_constructor): Likewise.
3281         * trans-expr.c (gfc_build_memcpy_call): New helper function split
3282         out from gfc_trans_array_copy.
3283         (gfc_trans_array_copy): Use gfc_build_memcpy_call.
3284         (gfc_trans_array_constructor_copy): New function to optimize
3285         assigning an entire array from a constant array constructor.
3286         (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
3287         when appropriate.
3288
3289 2007-01-20  Roger Sayle  <roger@eyesopen.com>
3290
3291         * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
3292         implementation for the SIGN intrinsic with integral operands.
3293         (gfc_conv_intrinsic_minmax): Fix whitespace.
3294
3295 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3296
3297         * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
3298         * lang.opt: Add -fallow-leading-underscore.
3299         * match.c (gfc_match_name): Allow leading underscore in symbol
3300         name if -fallow-leading-underscore is used.
3301         * symbol.c (gfc_get_default_type): Add special case for symbol
3302         names beginning with an underscore.
3303         * trans-decl.c (gfc_get_extern_function_decl,
3304         gfc_build_intrinsic_function_decls): Add _gfortran prefix to
3305         library symbols selected_int_kind, selected_real_kind and 
3306         all specifics.
3307         * options.c (gfc_init_options, gfc_handle_option): Handle the
3308         new -fallow-leading-underscore option.
3309
3310 2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3311
3312         PR fortran/30446
3313         * options.c (gfc_handle_module_path_options): Path used in -J
3314         option is now added to the module search path.
3315
3316 2007-01-20  Richard Guenther  <rguenther@suse.de>
3317
3318         PR fortran/30223
3319         * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
3320         cexpi builtins if we have TARGET_C99_FUNCTIONS.  Provide
3321         sincos builtins if the target has sincos.
3322
3323 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
3324
3325         * intrinsic.texi (MATMUL): Corrected a typo.
3326         (MAX): Separated @var arguments.
3327         (MIN): Separated @var arguments.
3328
3329 2007-01-19  Brooks Moses  <brooks.moses@codesourcery.com>
3330
3331         * intrinsic.texi: general whitespace cleanup.
3332         (menu): Added TIME8, removed UNMASK.
3333         (AINT): Clarified argument requirement.
3334         (ANINT): Clarified argument requirement.
3335         (CEILING): Clarified argument requirement.
3336         (CHAR): Clarified argument requirement.
3337         (CMPLX): Clarified argument requirement.
3338         (DCMPLX): Clarified argument requirement.
3339         (FGET): Line rewrapping.
3340         (FLOOR): Clarified argument requirement.
3341         (GMTIME): Added documentation.
3342         (IAND): Added cross-reference.
3343         (IBCLR): Added cross-reference.
3344         (IBSET): Added cross-reference.
3345         (IEOR): Added cross-reference.
3346         (INT): Collapsed examples, clarified argument requirement.
3347         (IOR): Added cross-references.
3348         (LEN_TRIM): Corrected result kind.
3349         (LINK): Added cross-reference.
3350         (LLT): Removed "documentation pending".
3351         (LOGICAL): Added documentation.
3352         (LSHIFT): Added documentation.
3353         (LTIME): Added documentation.
3354         (MATMUL): Added documentation.
3355         (MAX): Added documentation.
3356         (MAXLOC): Added documentation.
3357         (MAXVAL): Added documentation.
3358         (MERGE): Added documentation.
3359         (MIN): Added documentation.
3360         (MINLOC): Added documentation.
3361         (MINVAL): Added documentation.
3362         (MVBITS): Moved to correct place, added documentation.
3363         (NOT): Added documentation.
3364         (PERROR): Added documentation.
3365         (RAN): Moved to correct place, added documentation.
3366         (REAL): Clarified argument requirement.
3367         (RENAME): Added documentation.
3368         (RSHIFT): Clarified argument requirement.
3369         (SIGN): Corrected table specification.
3370         (SYMLNK): Added documentation.
3371         (SYSTEM): Added documentation.
3372         (TIME): Added documentation.
3373         (TIME8): Added section and documentation.
3374         (UNMASK): Removed erroneous section.
3375
3376 2007-01-18  H.J. Lu  <hongjiu.lu@intel.com>
3377
3378         * trans-stmt.c (compute_overall_iter_number): Fix a typo.
3379
3380 2007-01-18  Roger Sayle  <roger@eyesopen.com>
3381
3382         * trans-expr.c (copyable_array_p): Consider user derived types without
3383         allocatable components to be copyable.
3384
3385 2007-01-18  Roger Sayle  <roger@eyesopen.com>
3386
3387         * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
3388         the number of interations in unconditional FORALL nests with constant
3389         bounds.
3390
3391 2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3392             Tobias Burnus  <burnus@net-b.de>
3393
3394         PR libfortran/29649
3395         * gfortran.h (gfc_option_t): Add flag_dump_core.
3396         * lang.opt: Add -fdump-core option.
3397         * invoke.texi: Document the new options.
3398         * trans-decl.c (gfc_build_builtin_function_decls): Add new
3399           options to the call to set_std.
3400         * options.c (gfc_init_options, gfc_handle_option): Set the
3401           new options.
3402
3403 2007-01-17  Paul Thomas  <pault@gcc.gnu.org>
3404
3405         PR fortran/30476
3406         * module.c (load_generic_interfaces): Make the marking of the
3407         symbol as ambiguous conditional on the module names being
3408         different.
3409         (write_generic): Ensure that the generic interface has a
3410         non-NULL module field.
3411
3412 2007-01-16  Roger Sayle  <roger@eyesopen.com>
3413
3414         PR fortran/30404
3415         * trans-stmt.c (forall_info): Remove pmask field.
3416         (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
3417         NVAR covers all the interation variables in the current forall_info.
3418         Add an extra OUTER parameter, which specified the loop header in
3419         which to place mask index initializations.
3420         (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
3421         Change the semantics of MASK_FLAG to only control the mask in the
3422         innermost loop.
3423         (compute_overall_iter_number): Optimize the trivial case of a
3424         top-level loop having a constant number of iterations.  Update
3425         call to gfc_trans_nested_forall_loop.  Calculate the number of
3426         times the inner loop will be executed, not to size of the 
3427         iteration space.
3428         (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
3429         sizeof(type) == 1.  Tidy up.
3430         (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
3431         to gfc_trans_nested_forall_loop.
3432         (gfc_trans_pointer_assign_need_temp): Likewise.
3433         (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
3434         LENVAR local variables.  Split mask allocation into a separate
3435         hunk/pass from mask population.  Use allocate_temp_for_forall_nest
3436         to allocate the FORALL mask with the correct size.  Update calls
3437         to gfc_trans_nested_forall_loop.
3438         (gfc_evaluate_where_mask): Update call to
3439         gfc_trans_nested_forall_loop.
3440         (gfc_trans_where_2): Likewise.
3441
3442 2007-01-15  Paul Thomas  <pault@gcc.gnu.org>
3443
3444         PR fortran/28172
3445         * trans-stmt.c (gfc_trans_call): If it does not have one, get
3446         a backend_decl for an alternate return.
3447
3448         PR fortran/29389
3449         * resolve.c (pure_function): Statement functions are pure. Note
3450         that this will have to recurse to comply fully with F95.
3451
3452         PR fortran/29712
3453         * resolve.c (resolve_function): Only a reference to the final
3454         dimension of an assumed size array is an error in an inquiry
3455         function.
3456
3457         PR fortran/30283
3458         * resolve.c (resolve_function): Make sure that the function
3459         expression has a type.
3460
3461 2007-01-14  Paul Thomas  <pault@gcc.gnu.org>
3462
3463         PR fortran/30410
3464         * trans-decl.c (gfc_sym_mangled_function_id): Module, external
3465         symbols must not have the module name prepended.
3466
3467 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
3468
3469         PR libfortran/30415
3470         * iresolve.c (gfc_resolve_maxloc): If the rank
3471         of the return array is nonzero and we process an
3472         integer array smaller than default kind, coerce
3473         the array to default integer.
3474         * iresolve.c (gfc_resolve_minloc): Likewise.
3475
3476 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
3477
3478         * simplify.c: Update copyright to 2007.
3479         * scanner.c: Same.
3480
3481 2007-01-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3482
3483         PR fortran/30430
3484         * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
3485         only once!
3486
3487 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
3488
3489         * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
3490         (gfc_simplify_ibset): Same.
3491
3492 2007-01-09  Brooks Moses  <brooks.moses@codesourcery.com>
3493
3494         PR 30381
3495         PR 30420
3496         * simplify.c (convert_mpz_to_unsigned): New function.
3497         (convert_mpz_to_signed): New function, largely based on
3498         twos_complement().
3499         (twos_complement): Removed.
3500         (gfc_simplify_ibclr): Add conversions to and from an
3501         unsigned representation before bit-twiddling.
3502         (gfc_simplify_ibset): Same.
3503         (gfc_simplify_ishftc): Add checks for overly large
3504         constant arguments, only check the third argument if
3505         it's present, carry over high bits into the result as
3506         appropriate, and perform the final conversion back to
3507         a signed representation using the correct sign bit.
3508         (gfc_simplify_not): Removed unnecessary masking.
3509
3510 2007-01-09  Paul Thomas  <pault@gcc.gnu.org>
3511
3512         PR fortran/30408
3513         * resolve.c (resolve_code): Use the code->expr character length
3514         directly to set length of llen.
3515
3516 2007-01-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3517
3518         PR fortran/30408
3519         * lang.opt: Add Wcharacter_truncation option.
3520         * options.c (gfc_init_options): Initialize
3521         gfc_option.warn_character_truncation to zero.
3522         (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
3523
3524 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
3525
3526         * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
3527         iresolve.c, match.c: Update Copyright years.  Whitespace.
3528
3529 2007-01-08  Richard Guenther  <rguenther@suse.de>
3530
3531         * trans-io.c (transfer_array_desc): Use build_int_cst instead
3532         of build_int_cstu.
3533
3534 2007-01-08  Roger Sayle  <roger@eyesopen.com>
3535
3536         * trans-array.c (constant_array_constructor_p): New function to
3537         determine whether an array constructor consists only of constant
3538         elements, and if so return it's size.
3539         (gfc_build_constant_array_constructor): Construct a statically
3540         initialized gfortran array for a given EXPR_ARRAY.
3541         (gfc_trans_constant_array_constructor): Efficiently scalarize
3542         a constant array constructor.
3543         (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
3544         Special case scalarization of constant array constructors, all of
3545         whose elements are specified, using constant_array_constructor_p 
3546         and gfc_trans_constant_array_constructor.
3547         (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
3548         before adding it to index, to avoid creating a NON_LVALUE_EXPR.
3549
3550 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
3551
3552         gfortran.texi: Fix typos.
3553
3554 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
3555
3556         * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
3557         convert.c: Update Copyright dates.  Fix whitespace.
3558
3559 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3560
3561         * data.c (gfc_assign_data_value): Fix whitespace.
3562
3563 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3564
3565         * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
3566         Commentary typo fix.
3567
3568 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
3569
3570         PR fortran/27698
3571         * match.c (gfc_match_name): Print diagnostics for invalid
3572         character in names.
3573
3574 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3575
3576         * array.c: Fix whitespace in comment table.
3577
3578 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3579
3580         * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
3581
3582 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
3583
3584         * arith.c: Update copyright years.  Whitespace.
3585
3586 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3587
3588         * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
3589         array assignments split out from gfc_trans_assignment.
3590         (gfc_trans_array_copy): New function to implement array to array
3591         copies via calls to __builtin_memcpy.
3592         (copyable_array_p): New helper function to identify an array of
3593         simple/POD types, that may be copied/assigned using memcpy.
3594         (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
3595         whole array assignments considered suitable by copyable_array_p.
3596         Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
3597
3598 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3599
3600         * trans-array.c (gfc_trans_array_constructor_value): Make the
3601         static const "data" array as TREE_READONLY.
3602         * trans-stmt.c (gfc_trans_character_select): Likewise.
3603
3604 2007-01-05  Roger Sayle  <roger@eyesopen.com>
3605
3606         * trans-array.c (gfc_conv_loop_setup): Test whether the loop
3607         stride is one, to avoid fold_build2 introducing a useless
3608         NON_LVALUE_EXPR node.
3609
3610 2007-01-05  Tobias Burnus  <burnus@net-b.de>
3611
3612         * symbol.c (check_conflict): Fix error message.
3613
3614 2007-01-05  Paul Thomas  <pault@gcc.gnu.org>
3615
3616         PR fortran/23232
3617         * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
3618         functions to signal that a DATA statement is being matched.
3619         (gfc_match_data): Call gfc_set_in_match_data on entry and on
3620         exit.
3621         * gfortran.h : Add prototypes for above.
3622         * expr.c (check_init_expr): Avoid check on parameter or
3623         variable if gfc_in_match_data is true.
3624         (gfc_match_init_expr): Do not call error on non-reduction of
3625         expression if gfc_in_match_data is true.
3626
3627         PR fortran/27996
3628         PR fortran/27998
3629         * decl.c (gfc_set_constant_character_len): Add boolean arg to
3630         flag array constructor resolution.  Warn if string is being
3631         truncated.  Standard dependent error if string is padded. Set
3632         new arg to false for all three calls to
3633         gfc_set_constant_character_len.
3634         * match.h : Add boolean arg to prototype for
3635         gfc_set_constant_character_len.
3636         * gfortran.h : Add warn_character_truncation to gfc_options.
3637         * options.c (set_Wall): Set warn_character_truncation if -Wall
3638         is set.
3639         * resolve.c (resolve_code): Warn if rhs string in character
3640         assignment has to be truncated.
3641         * array.c (gfc_resolve_character_array_constructor): Set new
3642         argument to true for call to gfc_set_constant_character_len.
3643
3644 2007-01-05  Tobias Burnus  <burnus@net-b.de>
3645
3646         PR fortran/29624
3647         * interface.c (compare_parameter_intent): New function.
3648           (check_intents): Support pointer intents.
3649         * symbol.c (check_conflict): Support pointer intents,
3650           better conflict_std message.
3651         * expr.c (gfc_check_assign,gfc_check_pointer_assign):
3652           Support pointer intents.
3653         * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
3654           Support pointer intents.
3655
3656 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3657
3658         PR 30371
3659         * check.c (gfc_check_kill_sub): Add checks for non-scalar
3660         arguments.
3661
3662 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3663
3664         * intrinsic.texi: Minor cleanup, reflowing overlong
3665         paragraphs, and correcting whitespace.
3666
3667 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3668
3669         * intrinsic.texi (LBOUND): Add documentation.
3670         (LGE): Add documentation.
3671         (LGT): Add documentation.
3672         (LINK): Add documentation.
3673         (LLE): Add documentation.
3674         (LLT): Add documentation.
3675         (LNBLNK): Add documentation.
3676         (UBOUND): Add documentation.
3677         (UNLINK): Add documentation.
3678
3679 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3680
3681         * intrinsic.texi (IAND): Clarify argument specifications.
3682         (IBCLR): Add documentation.
3683         (IBITS): Add documentation.
3684         (IBSET): Add documentation.
3685         (IEOR): Add documentation.
3686         (IERRNO): Add documentation.
3687         (INDEX): Add documentation.
3688         (IOR): Add documentation.
3689         (ISHFT): Add documentation.
3690         (ISHFTC): Add documentation.
3691         (KILL): Add documentation.
3692         (LEN_TRIM): Add documentation.
3693
3694 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3695
3696         PR 30235
3697         * interface.c (compare_actual_formal): check for
3698         alternate returns when iterating over non-present
3699         arguments.
3700
3701 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3702
3703         * invoke.texi: Update manpage copyright to include 2007.
3704
3705 2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>
3706
3707         * gfortran.texi: Update copyright to include 2007.
3708         * intrinsic.texi: Update copyright to include 2007.
3709         * invoke.texi: Update copyright to include 2007.
3710
3711 2007-01-02  Tobias Burnus  <burnus@net-b.de>
3712             Jakub Jelinek  <jakub@redhat.com>
3713
3714         PR fortran/30276
3715         * scanner.c (open_included_file): Revert patch.
3716           (gfc_open_included_file): Support absolute pathnames.
3717           (gfc_open_intrinsic_module): Support absolute pathnames.
3718
3719 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3720
3721         * gfortran.texi (GNU Fortran and GCC): Rewrite
3722
3723 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3724
3725         * gfortran.texi (Introduction): Lower "Part I:
3726         Introduction" to a chapter, renumber Parts II and III to
3727         Parts I and II.
3728         * intrinsic.texi (Introduction): Rename to "Introduction
3729         to Intrinsics" to avoid conflict with the new chapter.
3730
3731 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3732
3733         * intrinsic.texi (Introduction): Rewrite first paragraph.
3734
3735 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3736
3737         * invoke.texi (OpenMP): Added index entry.
3738         * gfortran.texi (title page): Removed erroneous '*'.
3739
3740 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3741
3742         * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
3743         to description.
3744         (Extensions): Miscellaneous minor rewriting and copyediting.
3745         (BOZ-literal constants): Renamed from Hexadecimal constants.
3746         (Hollerith constants support): Added explanation and 
3747         suggestions for standard-conforming modern equivalents.
3748
3749 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3750
3751         * intrinsic.texi: Improvements to index entries; change
3752         @findex entries to @cindex entries.
3753         * invoke.texi: Standardize and improve index entries.
3754         * gfortran.texi: Fix @code in one index entry.
3755
3756 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3757
3758         * invoke.texi: Change @code-type macros to appropriate
3759         variants (@command, @option, etc.)
3760         * gfortran.texi: Same.
3761
3762 2007-01-03  Brooks Moses  <brooks.moses@codesourcery.com>
3763
3764         * intrinsic.texi: Various minor cleanups.
3765
3766 2007-01-02  Steven G. Kargl  <kargls@comcast.net>
3767
3768         * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
3769         build_int_cst.
3770
3771 2007-01-02  Tobias Burnus  <burnus@net-b.de>
3772
3773         PR fortran/30276
3774         * scanner.c (open_included_file): Support full-path filenames.
3775
3776 2007-01-02  Paul Thomas  <pault@gcc.gnu.org>
3777
3778         PR fortran/20896
3779         * interface.c (check_sym_interfaces): Remove call to
3780         resolve_global_procedure.
3781         gfortran.h : Remove prototype for resolve_global_procedure.
3782         resolve.c (resolve_global_procedure): Add static attribute
3783         to function declaration.
3784
3785 2007-01-01  Steven G. Kargl  <kargls@comcast.net>
3786
3787         * ChangeLog: Copy to ...
3788         * ChangeLog-2006: here.