OSDN Git Service

2010-07-30 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2010-07-30  Janus Weil  <janus@gcc.gnu.org>
2             Steven G. Kargl  <kargl@gcc.gnu.org>
3
4         PR fortran/44929
5         * match.c (match_type_spec): Try to parse derived types before
6         intrinsic types.
7
8 2010-07-30  Mikael Morin  <mikael@gcc.gnu.org>
9
10         * gfortran.h (gfc_release_symbol): New prototype.
11         * symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree.
12         (gfc_undo_symbols, free_sym_tree, gfc_free_finalizer):
13         Use gfc_release_symbol.
14         * parse.c (gfc_fixup_sibling_symbols): Ditto.
15         * resolve.c (resolve_symbol): Ditto.
16
17 2010-07-29  Tobias Burnus  <burnus@net-b.de>
18
19         PR fortran/45087
20         PR fortran/45125
21         * trans-decl.c (gfc_get_extern_function_decl): Correctly handle
22         external procedure declarations in modules.
23         (gfc_get_symbol_decl): Modify assert.
24
25 2010-07-29  Janus Weil  <janus@gcc.gnu.org>
26
27         PR fortran/44962
28         * resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec.
29
30 2010-07-29  Janus Weil  <janus@gcc.gnu.org>
31
32         PR fortran/45004
33         * trans-stmt.h (gfc_trans_class_init_assign): New prototype.
34         (gfc_trans_class_assign): Modified prototype.
35         * trans.h (gfc_conv_intrinsic_move_alloc): New prototype.
36         * trans-expr.c (gfc_trans_class_init_assign): Split off from ...
37         (gfc_trans_class_assign): ... here. Modified actual arguments.
38         * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to
39         handle the MOVE_ALLOC intrinsic with scalar and class arguments.
40         * trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'.
41
42 2010-07-29  Mikael Morin  <mikael@gcc.gnu.org>
43
44         PR fortran/42051
45         PR fortran/44064
46         * class.c (gfc_find_derived_vtab): Accept or discard newly created
47         symbols before returning.
48
49 2010-07-29  Joseph Myers  <joseph@codesourcery.com>
50
51         * lang.opt (cpp): Remove Joined and Separate markers.
52         (cpp=): New internal option.
53         * lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option.
54         * cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of
55         OPT_cpp.
56
57 2010-07-29  Daniel Kraft  <d@domob.eu>
58
59         PR fortran/45117
60         * array.c (resolve_array_bound): Fix error message to properly handle
61         non-variable expressions.
62
63 2010-07-28  Mikael Morin  <mikael@gcc.gnu.org>
64
65         * decl.c (free_value): Also free repeat field.
66         * data.c (gfc_assign_data_value): Always free offset before returning.
67
68 2010-07-28  Daniel Kraft  <d@domob.eu>
69
70         * gfortran.h (gfc_build_intrinsic_call): New method.
71         * expr.c (gfc_build_intrinsic_call): New method.
72         * simplify.c (range_check): Ignore non-constant value.
73         (simplify_bound_dim): Handle non-variable expressions and
74         fix memory leak with non-free'ed expression.
75         (simplify_bound): Handle non-variable expressions.
76         (gfc_simplify_shape): Ditto.
77         (gfc_simplify_size): Ditto, but only in certain cases possible.
78
79 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
80
81         * gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
82         Remove.
83
84 2010-07-28  Tobias Burnus  <burnus@net-b.de>
85
86         PR fortran/45077
87         * trans-types.c (gfc_get_derived_type): Fix DT declaration
88         from modules for whole-file mode.
89
90 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
91
92         * gfortran.h (gfc_handle_option): Update prototype and return
93         value type.
94         * options.c (gfc_handle_option): Update prototype and return value
95         type.
96
97 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
98
99         * cpp.c (gfc_cpp_init_options): Update prototype.  Use number of
100         decoded options in allocating deferred_opt.
101         * cpp.h (gfc_cpp_init_options): Update prototype.
102         * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define.
103         * gfortran.h (gfc_option_lang_mask): New.
104         (gfc_init_options): Update prototype.
105         * options.c (gfc_option_lang_mask): New.
106         (gfc_init_options): Update prototype.  Pass new arguments to
107         gfc_cpp_init_options.
108
109 2010-07-26  Tobias Burnus  <burnus@net-b.de>
110
111         PR fortran/40873
112         * trans-decl.c (gfc_get_extern_function_decl): Fix generation
113         for functions which are later in the same file.
114         (gfc_create_function_decl, build_function_decl,
115         build_entry_thunks): Add global argument.
116         * trans.c (gfc_generate_module_code): Update
117         gfc_create_function_decl call.
118         * trans.h (gfc_create_function_decl): Update prototype.
119         * resolve.c (resolve_global_procedure): Also resolve for
120         IFSRC_IFBODY.
121
122 2010-07-26  Richard Henderson  <rth@redhat.com>
123
124         PR target/44132
125         * f95-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
126         (gfc_write_global_declarations): New.
127
128 2010-07-26  Tobias Burnus  <burnus@net-b.de>
129
130         PR fortran/45066
131         * trans-io.c (build_dt): Use NULL_TREE rather than NULL
132         for call to transfer_namelist_element.
133         * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl
134         for -fwhole-file.
135
136 2010-07-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
137
138         PR fortran/40628
139         * Make-lang.in:  Add fortran/frontend-passes.o.
140         * gfortran.h:  Add prototype for gfc_run_passes.
141         * resolve.c (gfc_resolve):  Call gfc_run_passes.
142         * frontend-passes.c:  New file.
143
144 2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
145
146         PR fortran/42852
147         * scanner.c (gfc_next_char_literal): Enable truncation warning for
148         free-form '&'.
149
150 2010-07-25  Mikael Morin  <mikael@gcc.gnu.org>
151
152         PR fortran/44660
153         * gfortran.h (gfc_namespace): New field old_equiv.
154         (gfc_free_equiv_until): New prototype.
155         * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
156         a parameterized stop condition.
157         (gfc_free_equiv): Use gfc_free_equiv_until.
158         * parse.c (next_statement): Save equivalence list.
159         (reject_statement): Restore equivalence list. 
160
161 2010-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
162
163         PR fortran/42852
164         * scanner.c (gfc_next_char_literal): Move check for truncation earlier
165         in the function so that it does not get missed by early exits.
166         (load_line): Add checks for quoted strings and free form comments to
167         disable warnings on comments. Add check for ampersand as first
168         character after truncation and don't warn for this case, but warn if
169         there are subsequent non-whitespace characters.
170
171 2010-07-24  Tobias Burnus  <burnus@net-b.de>
172
173         PR fortran/40011
174         * parse.c (gfc_parse_file): Do not override
175         gfc_global_ns_list items.
176
177 2010-07-24  Tobias Burnus  <burnus@net-b.de>
178
179         * options.c (gfc_init_options): Enable -fwhole-file by default.
180         * interface.c (compare_parameter): Assume a Hollerith constant is
181         compatible with all other argument types.
182
183 2010-07-23  Tobias Burnus  <burnus@net-b.de>
184
185         PR fortran/44945
186         * trans-decl.c (gfc_get_symbol_decl): Use module decl with
187         -fwhole-file also for derived types.
188         * trans-types.c (copy_dt_decls_ifequal): Remove static and
189         rename to gfc_copy_dt_decls_ifequal.
190         (gfc_get_derived_type): Update call.
191         * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
192
193 2010-07-23  Tobias Burnus  <burnus@net-b.de>
194
195         PR fortran/45030
196         * resolve.c (resolve_global_procedure): Properly handle ENTRY.
197
198 2010-07-23  Jakub Jelinek  <jakub@redhat.com>
199
200         * trans-types.c (gfc_get_array_descriptor_base,
201         gfc_get_array_type_bounds): Set TYPE_NAMELESS.
202         * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
203         instead of clearing DECL_NAME.
204         (gfc_build_dummy_array_decl): Set DECL_NAMELESS.
205
206 2009-07-23  Paul Thomas  <pault@gcc.gnu.org>
207
208         PR fortran/24524
209         * trans-array.c (gfc_init_loopinfo): Initialize the reverse
210         field.
211         gfc_trans_scalarized_loop_end: If reverse set in dimension n,
212         reverse the scalarization loop.
213         gfc_conv_resolve_dependencies: Pass the reverse field of the
214         loopinfo to gfc_dep_resolver.
215         trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
216         assignment by resetting loop.reverse.
217         gfortran.h : Add the gfc_reverse enum.
218         trans.h : Add the reverse field to gfc_loopinfo.
219         dependency.c (gfc_check_dependency): Pass null to the new arg
220         of gfc_dep_resolver.
221         (gfc_check_section_vs_section): Check for reverse dependencies.
222         (gfc_dep_resolver): Add reverse argument and deal with the loop
223         reversal logic.
224         dependency.h : Modify prototype for gfc_dep_resolver to include
225         gfc_reverse *.
226
227 2010-07-23  Daniel Kraft  <d@domob.eu>
228
229         PR fortran/44709
230         * gfortran.h (gfc_find_symtree_in_proc): New method.
231         * symbol.c (gfc_find_symtree_in_proc): New method.
232         * match.c (match_exit_cycle): Look for loop name also in parent
233         namespaces within current procedure.
234
235 2010-07-22  Tobias Burnus  <burnus@net-b.de>
236
237         PR fortran/45019
238         * dependency.c (gfc_check_dependency): Add argument alising check.
239         * symbol.c (gfc_symbols_could_alias): Add argument alising check.
240
241 2010-07-22  Daniel Kraft  <d@domob.eu>
242
243         * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post,
244         now in the correct place.
245
246 2010-07-21  Steven G. Kargl  <kargl@gcc.gnu.org>
247
248         PR fortran/44929
249         * Revert my commit r162325.
250
251 2010-07-21  Daniel Kraft  <d@domob.eu>
252
253         * trans.h (gfc_get_return_label): Removed.
254         (gfc_generate_return): New method.
255         (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
256         returning a tree directly.
257         * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'.
258         (gfc_trans_block_construct): Update for new interface to
259         `gfc_trans_deferred_vars'.
260         * trans-decl.c (current_function_return_label): Removed.
261         (current_procedure_symbol): New variable.
262         (gfc_get_return_label): Removed.
263         (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than
264         returning a tree directly.
265         (get_proc_result), (gfc_generate_return): New methods.
266         (gfc_generate_function_code): Clean up and do init/cleanup here
267         also with gfc_wrapped_block.  Remove return-label but rather
268         return directly.
269
270 2010-07-19  Steven G. Kargl  <kargl@gcc.gnu.org>
271
272         PR fortran/44929
273         * fortran/match.c (match_type_spec): Check for derived type before
274         intrinsic types.
275
276 2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
277
278         PR fortran/42385
279         * interface.c (matching_typebound_op): Add argument for the
280         return of the generic name for the procedure.
281         (build_compcall_for_operator): Add an argument for the generic
282         name of an operator procedure and supply it to the expression.
283         (gfc_extend_expr, gfc_extend_assign): Use the generic name in
284         calls to the above procedures.
285         * resolve.c (resolve_typebound_function): Catch procedure
286         component calls for CLASS objects, check that the vtable is
287         complete and insert the $vptr and procedure components, to make
288         the call.
289         (resolve_typebound_function): The same.
290         * trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
291         an allocatable scalar if it is a result.
292
293 2010-07-19  Paul Thomas  <pault@gcc.gnu.org>
294
295         PR fortran/44353
296         * match.c (gfc_match_iterator): Reverted.
297
298 2010-07-18  Paul Thomas  <pault@gcc.gnu.org>
299
300         PR fortran/44353
301         * match.c (gfc_match_iterator): Remove error that iterator
302         cannot be INTENT(IN).
303
304 2010-07-17  Mikael Morin  <mikael@gcc.gnu.org>
305
306         * trans-array.c (gfc_free_ss): Don't free beyond ss rank.
307         Access subscript through the "dim" field index.
308         (gfc_trans_create_temp_array): Access ss info through the "dim" field
309         index.
310         (gfc_conv_array_index_offset): Ditto.
311         (gfc_conv_loop_setup): Ditto.
312         (gfc_conv_expr_descriptor): Ditto.
313         (gfc_conv_ss_startstride): Ditto.  Update call to
314         gfc_conv_section_startstride.
315         (gfc_conv_section_startstride): Set values along the array dimension.
316         Get array dimension directly from the argument.
317
318 2010-07-15  Jakub Jelinek  <jakub@redhat.com>
319
320         * trans.h (gfc_string_to_single_character): New prototype.
321         * trans-expr.c (string_to_single_character): Renamed to ...
322         (gfc_string_to_single_character): ... this.  No longer static.
323         (gfc_conv_scalar_char_value, gfc_build_compare_string,
324         gfc_trans_string_copy): Adjust callers.
325         * config-lang.in (gtfiles): Add fortran/trans-stmt.c.
326         * trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h.
327         (select_struct): Move to toplevel, add GTY(()).
328         (gfc_trans_character_select): Optimize SELECT CASE
329         with character length 1.
330
331 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
332
333         * f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
334         * trans-common.c: Likewise.
335         * trans-decl.c: Likewise.
336         * trans-types.c: Likewise.
337         * trans.c: Likewise.
338
339 2010-07-15  Janus Weil  <janus@gcc.gnu.org>
340
341         PR fortran/44936
342         * resolve.c (resolve_typebound_generic_call): Resolve generic
343         non-polymorphic type-bound procedure calls to the correct specific
344         procedure.
345         (resolve_typebound_subroutine): Remove superfluous code.
346
347 2010-07-15  Daniel Kraft  <d@domob.eu>
348
349         PR fortran/44709
350         * trans.h (struct gfc_wrapped_block): New struct.
351         (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
352         (gfc_finish_wrapped_block): New method.
353         (gfc_init_default_dt): Add new init code to block rather than
354         returning it.
355         * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block
356         (gfc_trans_dummy_array_bias): Ditto.
357         (gfc_trans_g77_array): Ditto.
358         (gfc_trans_deferred_array): Ditto.
359         * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain.
360         (add_expr_to_chain): New method based on old gfc_add_expr_to_block.
361         (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods.
362         (gfc_finish_wrapped_block): New method.
363         * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block
364         (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
365         (gfc_trans_deferred_array): Ditto.
366         * trans-decl.c (gfc_trans_dummy_character): Ditto.
367         (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto.
368         (init_intent_out_dt): Ditto.
369         (gfc_init_default_dt): Add new init code to block rather than
370         returning it.
371         (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init
372         and cleanup code and put it all together.
373
374 2010-07-15  Jakub Jelinek  <jakub@redhat.com>
375
376         * trans.h (gfc_build_compare_string): Add CODE argument.
377         * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
378         gfc_build_compare_string.
379         * trans-expr.c (gfc_conv_expr_op): Pass CODE to
380         gfc_build_compare_string.
381         (string_to_single_character): Rename len variable to length.
382         (gfc_optimize_len_trim): New function.
383         (gfc_build_compare_string): Add CODE argument.  If it is EQ_EXPR
384         or NE_EXPR and one of the strings is string literal with LEN_TRIM
385         bigger than the length of the other string, they compare unequal.
386
387         PR fortran/40206
388         * trans-stmt.c (gfc_trans_character_select): Always use NULL for high
389         in CASE_LABEL_EXPR and use NULL for low for the default case.
390
391 2010-07-14  Mikael Morin  <mikael@gcc.gnu.org>
392
393         * trans-array.c (gfc_conv_section_upper_bound): Remove
394         (gfc_conv_section_startstride): Don't set the upper bound in the 
395         vector subscript case.
396         (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
397
398 2010-07-14  Janus Weil  <janus@gcc.gnu.org>
399
400         PR fortran/44925
401         * gfortran.h (gfc_is_data_pointer): Remove prototype.
402         * dependency.c (gfc_is_data_pointer): Make it static.
403         * intrinsic.texi: Update documentation on C_LOC.
404         * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
405         and add a check for polymorphic variables.
406
407 2010-07-14  Jakub Jelinek  <jakub@redhat.com>
408
409         * trans-expr.c (string_to_single_character): Also optimize
410         string literals containing a single char followed only by spaces.
411         (gfc_trans_string_copy): Remove redundant string_to_single_character
412         calls.
413
414         * trans-decl.c (gfc_build_intrinsic_function_decls,
415         gfc_build_builtin_function_decls): Mark functions as
416         DECL_PURE_P or TREE_READONLY.
417
418 2010-07-13  Nathan Froyd  <froydnj@codesourcery.com>
419
420         * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
421         instead of build_function_call_expr.
422         * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
423
424 2010-07-13  Tobias Burnus  <burnus@net-b.de>
425             Daniel Franke  <franke.daniel@gmail.com>
426
427         PR fortran/43665
428         * trans.h (gfc_build_library_function_decl_with_spec): New prototype.
429         * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed
430         static.
431         * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations.
432
433 2010-07-13  Daniel Franke  <franke.daniel@gmail.com>
434             Tobias Burnus  <burnus@net-b.de>
435
436         PR fortran/43665
437         * trans-decl.c (gfc_build_intrinsic_function_decls): Add
438         noclobber/noescape annotations to function calls.
439         (gfc_build_builtin_function_decls): Likewise.
440
441 2010-07-13  Janus Weil  <janus@gcc.gnu.org>
442
443         PR fortran/44434
444         PR fortran/44565
445         PR fortran/43945
446         PR fortran/44869
447         * gfortran.h (gfc_find_derived_vtab): Modified prototype.
448         * class.c (gfc_build_class_symbol): Modified call to
449         'gfc_find_derived_vtab'.
450         (add_proc_component): Removed, moved code into 'add_proc_comp'.
451         (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
452         generics.
453         (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
454         Removed treatment of generics.
455         (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
456         Call 'add_proc_comp' instead of duplicating code.
457         (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
458         and 'declared'.
459         (add_generic_specifics,add_generics_to_declared_vtab): Removed.
460         (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
461         Removed treatment of generics.
462         * iresolve.c (gfc_resolve_extends_type_of): Modified call to
463         'gfc_find_derived_vtab'.
464         * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
465         Removed treatment of generics.
466         (resolve_select_type,resolve_fl_derived): Modified call to
467         'gfc_find_derived_vtab'.
468         * trans-decl.c (gfc_get_symbol_decl): Ditto.
469         * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
470         Ditto.
471         * trans-stmt.c (gfc_trans_allocate): Ditto.
472
473 2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
474
475         PR fortran/37077
476         * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
477         internal unit.
478
479 2010-07-12  Mikael Morin  <mikael@gcc.gnu.org>
480
481         * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
482         * resolve.c (build_default_init_expr): Ditto.
483
484 2010-07-11  Tobias Burnus  <burnus@net-b.de>
485
486         PR fortran/44702
487         * module.c (sort_iso_c_rename_list): Remove.
488         (import_iso_c_binding_module,use_iso_fortran_env_module):
489         Allow multiple imports of the same symbol.
490
491 2010-07-11  Mikael Morin  <mikael@gcc.gnu.org>
492
493         * arith.c (gfc_arith_done_1): Release mpfr internal caches.
494
495 2010-07-11  Janus Weil  <janus@gcc.gnu.org>
496
497         PR fortran/44869
498         * decl.c (build_sym,attr_decl1): Only build the class container if the
499         symbol has sufficient attributes.
500         * expr.c (gfc_check_pointer_assign): Use class_pointer instead of
501         pointer attribute for classes.
502         * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
503         * module.c (MOD_VERSION): Bump.
504         (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
505         (mio_symbol_attribute): Handle class_pointer attribute.
506         * parse.c (parse_derived): Use class_pointer instead of pointer
507         attribute for classes.
508         * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
509         * resolve.c (resolve_structure_cons,resolve_deallocate_expr,
510         resolve_allocate_expr,resolve_fl_derived): Ditto.
511         (resolve_fl_var_and_proc): Check for class_ok attribute.
512
513 2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>
514
515         * trans-io.c (gfc_build_st_parameter): Update calls to
516         gfc_add_field_to_struct.
517         * trans-stmt.c (ADD_FIELD): Ditto.
518         * trans-types.c
519         (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
520         C_ADDRESS field.
521         (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
522         fieldlist, remove fieldlist from argument list.
523         (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
524         and remove fieldlist from argument list.
525         (gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
526         gfc_get_mixed_entry_union): Move setting
527         TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
528         * trans-types.h (gfc_add_field_to_struct): Update prototype.
529
530 2010-07-10  Paul Thomas  <pault@gcc.gnu.org>
531
532         PR fortran/44773
533         * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
534         if the lhs has never been host associated, as well as not being
535         use associated, a pointer or a target.
536         * resolve.c (resolve_variable): Mark variables that are host
537         associated.
538         * gfortran.h: Add the host_assoc bit to the symbol_attribute
539         structure.
540
541 2010-07-09  Janus Weil  <janus@gcc.gnu.org>
542
543         * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
544         STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
545         SIZEOF and C_SIZEOF.
546
547 2010-07-08  Janus Weil  <janus@gcc.gnu.org>
548
549         PR fortran/44649
550         * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
551         * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
552         gfc_resolve_storage_size): New prototypes.
553         * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
554         * intrinsic.c (add_functions): Add STORAGE_SIZE.
555         * iresolve.c (gfc_resolve_storage_size): New function.
556         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
557         arguments.
558         (gfc_conv_intrinsic_storage_size): New function.
559         (gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
560
561 2010-07-08  Jakub Jelinek  <jakub@redhat.com>
562
563         PR fortran/44847
564         * match.c (match_exit_cycle): Error on EXIT also from collapsed
565         !$omp do loops.  Error on CYCLE to non-innermost collapsed
566         !$omp do loops.
567
568 2010-07-08  Tobias Burnus  <burnus@net-b.de>
569
570         PR fortran/18918
571         * array.c (gfc_match_array_ref): Better error message for
572         coarrays with too few ranks.
573         (match_subscript): Move one diagnostic to caller.
574         * gfortran.h (gfc_get_corank): Add prottype.
575         * expr.c (gfc_get_corank): New function.
576         * iresolve.c (resolve_bound): Fix rank for cobounds.
577         (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
578         gfc_resolve_ucobound, gfc_resolve_this_image): Update
579         resolve_bound call.
580
581 2010-07-06  Tobias Burnus  <burnus@net-b.de>
582
583         PR fortran/44742
584         * array.c (gfc_expand_constructor): Add optional diagnostic.
585         * gfortran.h (gfc_expand_constructor): Update prototype.
586         * expr.c (gfc_simplify_expr, check_init_expr,
587         gfc_reduce_init_expr): Update gfc_expand_constructor call.
588         * resolve.c (gfc_resolve_expr): Ditto.
589
590 2010-07-06  Tobias Burnus  <burnus@net-b.de>
591
592         * trans-decl.c: Include diagnostic-core.h besides toplev.h.
593         * trans-intrinsic.c: Ditto.
594         * trans-types.c: Ditto.
595         * convert.c: Include diagnostic-core.h instead of toplev.h.
596         * options.c: Ditto.
597         * trans-array.c: Ditto.
598         * trans-const.c: Ditto.
599         * trans-expr.c: Ditto.
600         * trans-io.c: Ditto.
601         * trans-openmp.c: Ditto.
602         * trans.c: Ditto.
603
604 2010-07-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
605
606         PR fortran/PR44693
607         * check.c (dim_rank_check):  Also check intrinsic functions.
608         Adjust permissible rank for functions which reduce the rank of
609         their argument.  Spread is an exception, where DIM can
610         be one larger than the rank of array.
611
612 2010-07-05  Steven G. Kargl  <kargl@gcc.gnu.org>
613
614         PR fortran/44797
615         * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
616
617 2010-07-05  Paul Thomas  <pault@gcc.gnu.org>
618
619         PR fortran/44596
620         * trans-types.c (gfc_get_derived_type): Derived type fields
621         with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
622         but build_pointer_type_for_mode must be used for this.
623
624 2010-07-05  Nathan Froyd  <froydnj@codesourcery.com>
625
626         * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
627         * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
628         type of gfc_conv_procedure_call.
629         (conv_generic_with_optional_char_arg): Likewise.
630         * trans-stmt.c (gfc_trans_call): Likewise.
631         * trans-expr.c (gfc_conv_function_expr): Likewise.
632         (gfc_conv_procedure_call): Use build_call_vec instead of
633         build_call_list.
634
635 2010-07-04  Daniel Kraft  <d@domob.eu>
636
637         * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
638
639 2010-07-04  Paul Thomas  <pault@gcc.gnu.org>
640
641         PR fortran/44596
642         PR fortran/44745
643         * trans-types.c (gfc_get_derived_type): Derived type fields
644         with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
645
646 2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>
647
648         PR fortran/44662
649         * decl.c (match_procedure_in_type): Clear structure before using.
650         (gfc_match_generic): Ditto.
651
652 2010-07-02  Nathan Froyd  <froydnj@codesourcery.com>
653
654         * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
655         * trans-types.c (gfc_add_field_to_struct_1): New function, most
656         of which comes from...
657         (gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
658         (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
659         building fields.
660         (gfc_get_array_descriptor_base): Likewise.
661         (gfc_get_mixed_entry_union): Likewise.
662         (gfc_get_derived_type): Add extra chain parameter for
663         gfc_add_field_to_struct.
664         * trans-stmt.c (gfc_trans_character_select): Likewise.
665         * trans-io.c (gfc_build_st_parameter): Likewise.
666
667 2010-06-29  Janus Weil  <janus@gcc.gnu.org>
668
669         PR fortran/44718
670         * resolve.c (is_external_proc): Prevent procedure pointers from being
671         regarded as external procedures.
672
673 2010-06-29  Janus Weil  <janus@gcc.gnu.org>
674
675         PR fortran/44696
676         * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
677         passed as second argument of ASSOCIATED.
678
679 2010-06-29  Paul Thomas  <pault@gcc.gnu.org>
680
681         PR fortran/44582
682         * trans-expr.c (arrayfunc_assign_needs_temporary): New function
683         to determine if a function assignment can be made without a
684         temporary.
685         (gfc_trans_arrayfunc_assign): Move all the conditions that
686         suppress the direct function call to the above new functon and
687         call it.
688
689 2010-06-28  Paul Thomas  <pault@gcc.gnu.org>
690
691         PR fortran/40158
692         * interface.c (argument_rank_mismatch): New function.
693         (compare_parameter): Call new function instead of generating
694         the error directly.
695
696 2010-06-28  Nathan Froyd  <froydnj@codesourcery.com>
697
698         * trans-openmp.c (dovar_init): Define.  Define VECs containing it.
699         (gfc_trans_omp_do): Use a VEC to accumulate variables and their
700         initializers.
701
702 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
703
704         * Make-lang.in: Update dependencies.
705
706 2010-06-27  Nathan Froyd  <froydnj@codesourcery.com>
707
708         * gfortran.h (gfc_code): Split backend_decl field into cycle_label
709         and exit_label fields.
710         * trans-openmp.c (gfc_trans_omp_do): Assign to new fields
711         individually.
712         * trans-stmt.c (gfc_trans_simple_do): Likewise.
713         (gfc_trans_do): Likewise.
714         (gfc_trans_do_while): Likewise.
715         (gfc_trans_cycle): Use cycle_label directly.
716         (gfc_trans_exit): Use exit_label directly.
717
718 2010-06-27  Daniel Kraft  <d@domob.eu>
719
720         * dump-parse-tree.c (show_symbol): Dump target-expression for
721         associate names.
722         (show_code_node): Make distinction between BLOCK and ASSOCIATE.
723         (show_namespace): Use show_level for correct indentation of
724         "inner namespaces" (contained procedures or BLOCK).
725
726 2010-06-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
727
728         PR fortran/44678
729         * dump-parse-tree.c (show_code_node):  Show namespace for
730         EXEC_BLOCK.
731
732 2010-06-26  Tobias Burnus  <burnus@net-b.de>
733
734         * decl.c (gfc_match_decl_type_spec): Support
735         TYPE(intrinsic-type-spec).
736
737 2010-06-25  Tobias Burnus  <burnus@net-b.de>
738
739         * intrinsic.h (gfc_check_selected_real_kind,
740         gfc_simplify_selected_real_kind): Update prototypes.
741         * intrinsic.c (add_functions): Add radix support to
742         selected_real_kind.
743         * check.c (gfc_check_selected_real_kind): Ditto.
744         * simplify.c (gfc_simplify_selected_real_kind): Ditto.
745         * trans-decl.c (gfc_build_intrinsic_function_decls):
746         Change call from selected_real_kind to selected_real_kind2008.
747         * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
748         (PRECISION, RANGE, RADIX): Add cross @refs.
749
750 2010-06-25  Tobias Burnus  <burnus@net-b.de>
751
752         * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
753         * gfortran.texi (_gfortran_set_options): Update for
754         GFC_STD_F2008_OBS addition.
755         * libgfortran.h: Add GFC_STD_F2008_OBS.
756         * options.c (set_default_std_flags, gfc_handle_option): Handle
757         GFC_STD_F2008_OBS.
758         io.c (check_format): Fix allow_std check.
759
760 2010-06-25  Tobias Burnus  <burnus@net-b.de>
761
762         * decl.c (gfc_match_entry): Allow END besides
763         END SUBROUTINE/END FUNCTION for contained procedures.
764
765 2010-06-25  Tobias Burnus  <burnus@net-b.de>
766
767         * parse.c (next_free, next_fixed): Allow ";" as first character.
768
769 2010-06-24  Tobias Burnus  <burnus@net-b.de>
770
771         PR fortran/44614
772         * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
773
774 2010-06-22  Janus Weil  <janus@gcc.gnu.org>
775
776         PR fortran/44616
777         * resolve.c (resolve_fl_derived): Avoid checking for abstract on class
778         containers.
779
780 2010-06-21  Tobias Burnus  <burnus@net-b.de>
781
782         PR fortran/40632
783         * interface.c (compare_parameter): Add gfc_is_simply_contiguous
784         checks.
785         * symbol.c (gfc_add_contiguous): New function.
786         (gfc_copy_attr, check_conflict): Handle contiguous attribute.
787         * decl.c (match_attr_spec): Ditto.
788         (gfc_match_contiguous): New function.
789         * resolve.c (resolve_fl_derived, resolve_symbol): Handle
790         contiguous.
791         * gfortran.h (symbol_attribute): Add contiguous.
792         (gfc_is_simply_contiguous): Add prototype.
793         (gfc_add_contiguous): Add prototype.
794         * match.h (gfc_match_contiguous): Add prototype.
795         * parse.c (decode_specification_statement,
796         decode_statement): Handle contiguous attribute.
797         * expr.c (gfc_is_simply_contiguous): New function.
798         * dump-parse-tree.c (show_attr): Handle contiguous.
799         * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
800         Ditto.
801         * trans-expr.c (gfc_add_interface_mapping): Copy
802         attr.contiguous.
803         * trans-array.c (gfc_conv_descriptor_stride_get,
804         gfc_conv_array_parameter): Handle contiguous arrays.
805         * trans-types.c (gfc_build_array_type, gfc_build_array_type,
806         gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
807         Ditto.
808         * trans.h (gfc_array_kind): Ditto.
809         * trans-decl.c (gfc_get_symbol_decl): Ditto.
810
811 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
812
813         * options.c (gfc_handle_option): Don't handle N_OPTS.
814
815 2010-06-19  Janus Weil  <janus@gcc.gnu.org>
816
817         PR fortran/44584
818         * resolve.c (resolve_fl_derived): Reverse ordering of conditions
819         to avoid ICE.
820
821 2010-06-18  Tobias Burnus  <burnus@net-b.de>
822
823         PR fortran/44556
824         * resolve.c (resolve_allocate_deallocate): Properly check
825         part-refs in stat=/errmsg= for invalid use.
826
827 2010-06-17  Janus Weil  <janus@gcc.gnu.org>
828
829         PR fortran/44558
830         * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
831         Return directly in case of an error.
832
833 2010-06-16  Janus Weil  <janus@gcc.gnu.org>
834
835         PR fortran/44549
836         * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
837         * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
838         structure to each procedure in a procedure list.
839         * module.c (mio_typebound_proc): Add NULL argument to
840         'gfc_get_typebound_proc'.
841         * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
842         to initialize the new structure.
843
844 2010-06-15  Janus Weil  <janus@gcc.gnu.org>
845
846         PR fortran/43388
847         * gfortran.h (gfc_expr): Add new member 'mold'.
848         * match.c (gfc_match_allocate): Implement the MOLD tag.
849         * resolve.c (resolve_allocate_expr): Ditto.
850         * trans-stmt.c (gfc_trans_allocate): Ditto.
851
852 2010-06-15  Jakub Jelinek  <jakub@redhat.com>
853
854         PR fortran/44536
855         * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
856         OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
857         GFC_DECL_SAVED_DESCRIPTOR set.
858         (gfc_omp_report_decl): New function.
859         * trans.h (gfc_omp_report_decl): New prototype.
860         * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
861
862 2010-06-13  Daniel Franke  <franke.daniel@gmail.com>
863
864         PR fortran/31588
865         PR fortran/43954
866         * gfortranspec.c (lang_specific_driver): Removed deprecation
867         warning for -M.
868         * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
869         * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
870         * cpp.h (gfc_cpp_makedep): New.
871         (gfc_cpp_add_dep): New.
872         (gfc_cpp_add_target): New.
873         * cpp.c (gfc_cpp_option): Add deps* members.
874         (gfc_cpp_makedep): New.
875         (gfc_cpp_add_dep): New.
876         (gfc_cpp_add_target): New.
877         (gfc_cpp_init_options): Initialize new options.
878         (gfc_cpp_handle_option): Handle new options.
879         (gfc_cpp_post_options): Map new options to libcpp-options.
880         (gfc_cpp_init): Handle deferred -MQ and -MT options.
881         (gfc_cpp_done): If requested, write dependencies to file.
882         * module.c (gfc_dump_module): Add a module filename as target.
883         * scanner.c (open_included_file): New parameter system; add the
884         included file as dependency.
885         (gfc_open_included_file): Add the included file as dependency.
886         (gfc_open_intrinsic_module): Likewise.
887         * invoke.texi: Removed deprecation warning for -M.
888         * gfortran.texi: Removed Makefile-dependencies project.
889
890 2010-06-12  Daniel Franke  <franke.daniel@gmail.com>
891
892         * resolve.c (resolve_global_procedure): Improved checking if an
893         explicit interface is required.
894
895 2010-06-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
896
897         * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
898         return type.
899         * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
900         (gfc_conv_intrinsic_ttynam): Likewise.
901         (gfc_conv_intrinsic_trim): Likewise.
902
903 2010-06-12  Janus Weil  <janus@gcc.gnu.org>
904
905         PR fortran/40117
906         * decl.c (match_procedure_in_type): Allow procedure lists (F08).
907
908 2010-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
909
910         * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
911
912 2010-06-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
913
914         * mathbuiltins.def: Add builtins that do not directly correspond
915         to a Fortran intrinsic, with new macro OTHER_BUILTIN.
916         * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
917         * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
918         code_{r,c}{4,8,10,16} fields. Add
919         {,complex}{float,double,long_double}_built_in fields.
920         (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
921         DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
922         definition of OTHER_BUILTIN.
923         (real_compnt_info): Remove unused struct.
924         (builtin_decl_for_precision, builtin_decl_for_float_kind): New
925         functions.
926         (build_round_expr): Call builtin_decl_for_precision instead of
927         series of if-else.
928         (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
929         instead of a switch.
930         (gfc_build_intrinsic_lib_fndecls): Match
931         {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
932         (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
933         kinds.
934         (gfc_conv_intrinsic_lib_function): Go through all the extended
935         gfc_intrinsic_map.
936         (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
937         instead of a switch.
938         (gfc_conv_intrinsic_abs): Likewise.
939         (gfc_conv_intrinsic_mod): Likewise.
940         (gfc_conv_intrinsic_sign): Likewise.
941         (gfc_conv_intrinsic_fraction): Likewise.
942         (gfc_conv_intrinsic_nearest): Likewise.
943         (gfc_conv_intrinsic_spacing): Likewise.
944         (gfc_conv_intrinsic_rrspacing): Likewise.
945         (gfc_conv_intrinsic_scale): Likewise.
946         (gfc_conv_intrinsic_set_exponent): Likewise.
947
948 2010-06-11  Paul Thomas  <pault@gcc.gnu.org>
949
950         PR fortran/42051
951         PR fortran/43896
952         * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
953         functions with CLASS formal arguments.
954
955 2010-06-10  Janus Weil  <janus@gcc.gnu.org>
956
957         PR fortran/44207
958         * resolve.c (conformable_arrays): Handle allocatable components.
959
960 2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
961
962         PR fortran/38273
963         * gfortran.texi: Document that Cray pointers cannot be function
964         results.
965
966 2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
967
968         PR fortran/36234
969         * gfortran.texi: Document lack of support for syntax
970         "complex FUNCTION name*16()", and existence of alternative
971         legacy syntax "complex*16 FUNCTION name()".
972
973 2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
974
975         PR fortran/43032
976         * intrinsic.texi (FLUSH): Note the difference between FLUSH and
977         POSIX's fsync(), and how to call the latter from Fortran code.
978
979 2010-06-10  Daniel Franke  <franke.daniel@gmail.com>
980
981         PR fortran/44457
982         * interface.c (compare_actual_formal): Reject actual arguments with
983         array subscript passed to ASYNCHRONOUS dummys.
984
985 2010-06-10  Daniel Kraft  <d@domob.eu>
986
987         PR fortran/38936
988         * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
989         (struct gfc_symbol): New field `assoc'.
990         (struct gfc_association_list): New struct.
991         (struct gfc_code): New struct `block' in union, move `ns' there
992         and add association list.
993         (gfc_free_association_list): New method.
994         (gfc_has_vector_subscript): Made public;
995         * match.h (gfc_match_associate): New method.
996         * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
997         * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
998         * interface.c (gfc_has_vector_subscript): Made public.
999         (compare_actual_formal): Rename `has_vector_subscript' accordingly.
1000         * match.c (gfc_match_associate): New method.
1001         (gfc_match_select_type): Change reference to gfc_code's `ns' field.
1002         * primary.c (match_variable): Don't allow names associated to expr here.
1003         * parse.c (decode_statement): Try matching ASSOCIATE statement.
1004         (case_exec_markers, case_end): Add ASSOCIATE statement.
1005         (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
1006         (parse_associate): New method.
1007         (parse_executable): Handle ST_ASSOCIATE.
1008         (parse_block_construct): Change reference to gfc_code's `ns' field.
1009         * resolve.c (resolve_select_type): Ditto.
1010         (resolve_code): Ditto.
1011         (resolve_block_construct): Ditto and add comment.
1012         (resolve_select_type): Set association list in generated BLOCK to NULL.
1013         (resolve_symbol): Resolve associate names.
1014         * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
1015         and free association list.
1016         (gfc_free_association_list): New method.
1017         * symbol.c (gfc_new_symbol): NULL new field `assoc'.
1018         * trans-stmt.c (gfc_trans_block_construct): Change reference to
1019         gfc_code's `ns' field.
1020
1021 2010-06-10  Kai Tietz  <kai.tietz@onevision.com>
1022
1023         * error.c (error_print): Pre-initialize loc by NULL.
1024         * openmp.c (resolve_omp_clauses): Add explicit
1025         braces to avoid ambigous else.
1026         * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
1027
1028 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
1029
1030         * gfc-internals.texi: Move to GFDL 1.3.
1031         * gfortran.texi: Ditto.
1032         * intrinsic.texi: Ditto.
1033         * invoke.texi: Ditto.
1034
1035 2010-06-09  Daniel Franke  <franke.daniel@gmail.com>
1036
1037         PR fortran/44347
1038         * check.c (gfc_check_selected_real_kind): Verify that the
1039         actual arguments are scalar.
1040
1041 2010-06-09  Daniel Franke  <franke.daniel@gmail.com>
1042
1043         PR fortran/44359
1044         * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
1045
1046 2010-06-09  Janus Weil  <janus@gcc.gnu.org>
1047
1048         PR fortran/44430
1049         * dump-parse-tree.c (show_symbol): Avoid infinite loop.
1050
1051 2010-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>
1052
1053         * fortran/symbol.c (check_conflict):  Remove an invalid conflict check.
1054
1055 2010-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>
1056
1057         * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
1058         gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
1059         * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
1060         gfc_check_ibclr, and gfc_check_ibset.  Add prototype for
1061         gfc_check_bitfcn.
1062         * fortran/check.c (nonnegative_check, less_than_bitsize1, 
1063         less_than_bitsize2): New functions.
1064         (gfc_check_btest): Renamed to gfc_check_bitfcn.  Use
1065         nonnegative_check and less_than_bitsize1.
1066         (gfc_check_ibclr, gfc_check_ibset): Removed.
1067         (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
1068         less_than_bitsize1.
1069
1070 2010-06-09  Janus Weil  <janus@gcc.gnu.org>
1071
1072         PR fortran/44211
1073         * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
1074         Resolve references.
1075
1076 2010-06-09  Kai Tietz  <kai.tietz@onevision.com>
1077
1078         * resolve.c (resolve_deallocate_expr): Avoid warning
1079         about possible use of iunitialized sym.
1080         (resolve_allocate_expr): Pre-initialize sym by NULL.
1081
1082 2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1083
1084         PR fortran/43040
1085         * f95-lang.c (gfc_init_builtin_functions): Remove comment.
1086
1087 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1088
1089         * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
1090         allocation.
1091         (gfc_get_array_type_bounds): Likewise.
1092
1093         * trans-decl.c (gfc_allocate_lang_decl): Likewise.
1094         (gfc_find_module): Likewise.
1095
1096         * f95-lang.c (pushlevel): Likewise.
1097
1098         * trans.h (struct lang_type): Add variable_size GTY option.
1099         (struct lang_decl): Likewise.
1100
1101 2010-06-08  Tobias Burnus  <burnus@net-b.de>
1102
1103         PR fortran/44446
1104         * symbol.c (check_conflict): Move protected--external/procedure check ...
1105         * resolve.c (resolve_select_type): ... to the resolution stage.
1106
1107 2010-06-07  Tobias Burnus  <burnus@net-b.de>
1108
1109         * options.c (gfc_handle_option): Fix -fno-recursive.
1110
1111 2010-06-07  Tobias Burnus  <burnus@net-b.de>
1112
1113         * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
1114         * gfortran.texi (copyrights-gfortran): Ditto.
1115
1116 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
1117
1118         * lang.opt (fshort-enums): Define using Var and VarExists.
1119         * options.c (gfc_handle_option): Don't set flag_short_enums here.
1120
1121 2010-06-05  Paul Thomas  <pault@gcc.gnu.org>
1122             Janus Weil  <janus@gcc.gnu.org>
1123
1124         PR fortran/43945
1125         * resolve.c (get_declared_from_expr): Move to before
1126         resolve_typebound_generic_call.  Make new_ref and class_ref
1127         ignorable if set to NULL.
1128         (resolve_typebound_generic_call): Once we have resolved the
1129         generic call, check that the specific instance is that which
1130         is bound to the declared type.
1131         (resolve_typebound_function,resolve_typebound_subroutine): Avoid
1132         freeing 'class_ref->next' twice.
1133
1134 2010-06-05  Paul Thomas  <pault@gcc.gnu.org>
1135
1136         PR fortran/43895
1137         * trans-array.c (structure_alloc_comps): Dereference scalar
1138         'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
1139         TREE_TYPE (decl).
1140
1141 2010-06-04  Joseph Myers  <joseph@codesourcery.com>
1142
1143         * gfortranspec.c (append_arg, lang_specific_driver): Use
1144         GCC-specific formats in diagnostics.
1145
1146 2010-06-02  Tobias Burnus  <burnus@net-b.de>
1147
1148         PR fortran/44360
1149         * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
1150         symbols.
1151
1152 2010-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1153
1154         PR fortran/44371
1155         * match.c (gfc_match_stopcode): Move gfc_match_eos call inside 
1156         condition block.
1157
1158 2010-05-31  Steven G. Kargl  <kargl@gcc.gnu.org>
1159
1160         * fortran/gfortran.texi:  Fix typos in description of variable-format-
1161         expressions.
1162
1163 2010-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
1164
1165         PR fortran/36928
1166         * dependency.c (gfc_check_section_vs_section):  Check
1167         for interleaving array assignments without conflicts.
1168
1169 2010-05-30  Janus Weil  <janus@gcc.gnu.org>
1170
1171         * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
1172         $data component of a class container.
1173         * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
1174         * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
1175         gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
1176         * gcc/fortran/interface.c (matching_typebound_op): Ditto.
1177         * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
1178         * gcc/fortran/parse.c (parse_derived): Ditto.
1179         * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
1180         gfc_expr_attr): Ditto.
1181         * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
1182         resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
1183         resolve_fl_var_and_proc, resolve_typebound_procedure,
1184         resolve_fl_derived): Ditto.
1185         * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
1186         * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
1187         CLASS_DATA.
1188         * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
1189         gfc_trans_deferred_vars): Ditto.
1190         * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
1191
1192 2010-05-28  Tobias Burnus  <burnus@net-b.de>
1193
1194         * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
1195
1196 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
1197
1198         * gfortranspec.c (append_arg, lang_specific_driver): Use
1199         fatal_error instead of fatal.  Use warning instead of fprintf for
1200         warnings.
1201
1202 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
1203
1204         * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
1205         * module.c (write_char, gfc_dump_module, gfc_use_module): Use
1206         xstrerror instead of strerror.
1207
1208 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
1209
1210         * cpp.c (cb_cpp_error): Save and restore
1211         global_dc->warn_system_headers, not variable warn_system_headers.
1212
1213 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1214
1215         * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
1216
1217 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
1218
1219         * trans-common.c: Do not include rtl.h, include output.h instead.
1220         * trans-decl.c: Likewise.
1221
1222 2010-05-26  Paul Thomas  <pault@gcc.gnu.org>
1223
1224         PR fortran/40011
1225         * resolve.c (resolve_global_procedure): Resolve the gsymbol's
1226         namespace before trying to reorder the gsymbols.
1227
1228 2010-05-25  Daniel Franke  <franke.daniel@gmail.com>
1229
1230         PR fortran/30668
1231         PR fortran/31346
1232         PR fortran/34260
1233         * resolve.c (resolve_global_procedure): Add check for global
1234         procedures with implicit interfaces and assumed-shape or optional
1235         dummy arguments. Verify that function return type, kind and string
1236         lengths match.
1237
1238 2010-05-21  Tobias Burnus  <burnus@net-b.de>
1239
1240         * gfortran.h: Do not include system.h.
1241         * bbt.c: Include system.h.
1242         * data.c: Ditto.
1243         * dependency.c: Ditto.
1244         * dump-parse-tree.c: Ditto.
1245         * arith.h: Do not include gfortran.h.
1246         * constructor.h: Do not include gfortran.h and splay-tree.h.
1247         * match.h: Do not include gfortran.h.
1248         * parse.h: Ditto.
1249         * target-memory.h: Ditto.
1250         * openmp.c: Do not include toplev.h and target.h.
1251         * trans-stmt.c: Ditto not include toplev.h.
1252         * primary.c: Ditto.
1253         * trans-common.c: Tell why toplev.h is needed. And
1254         do not include target.h.
1255         * trans-expr.c: Tell why toplev.h is needed.
1256         * trans-array.c: Ditto.
1257         * trans-openmp.c: Ditto.
1258         * trans-const.c: Ditto.
1259         * trans.c: Ditto.
1260         * trans-types.c: Ditto.
1261         * trans-io.c: Ditto.
1262         * trans-decl.c: Ditto.
1263         * scanner.c: Ditto.
1264         * convert.c: Ditto.
1265         * trans-intrinsic.c: Ditto.
1266         * options.c: Ditto.
1267
1268 2010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1269
1270         PR fortran/43851
1271         * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
1272         before returning MATCH_ERROR. Add check for scalar. Add check for
1273         default integer kind.
1274
1275 2010-05-22  Janus Weil  <janus@gcc.gnu.org>
1276
1277         PR fortran/44212
1278         * match.c (gfc_match_select_type): On error jump back out of the local
1279         namespace.
1280         * parse.c (parse_derived): Defer creation of vtab symbols to resolution
1281         stage, more precisely to ...
1282         * resolve.c (resolve_fl_derived): ... this place.
1283
1284 2010-05-22  Janus Weil  <janus@gcc.gnu.org>
1285
1286         PR fortran/44213
1287         * resolve.c (ensure_not_abstract): Allow abstract types with
1288         non-abstract ancestors.
1289
1290 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1291
1292         * trans-const.c: Include realmpfr.h.
1293         * Make-lang.in: Update dependencies.
1294
1295 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
1296
1297         * trans-const.c, trans-types.c, trans-intrinsic.c:
1298         Clean up redundant includes.
1299
1300 2010-05-20  Daniel Franke  <franke.daniel@gmail.com>
1301
1302         PR fortran/38407
1303         * lang.opt (Wunused-dummy-argument): New option.
1304         * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
1305         * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
1306         (set_Wall): Enable warn_unused_dummy_argument.
1307         (gfc_handle_option): Set warn_unused_dummy_argument according to
1308         command line.
1309         * trans-decl.c (generate_local_decl): Separate warnings about
1310         unused variables and unused dummy arguments.
1311         * invoke.texi: Documented new option.
1312
1313 2010-05-20  Steven Bosscher  <steven@gcc.gnu.org>
1314
1315         * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
1316         (gfc_conv_string_tmp): Do not assert type comparibilty.
1317         *  trans-array.c: Do not include gimple.h, ggc.h, and real.h.
1318         (gfc_conv_expr_descriptor): Remove assert.
1319         * trans-common.c: Clarify why rtl.h and tm.h are included.
1320         * trans-openmp.c: Do not include ggc.h and real.h.
1321         Explain why gimple.h is included.
1322         * trans-const.c: Do not include ggc.h.
1323         * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
1324         * trans.c: Do not include ggc.h and real.h.
1325         Explain why gimple.h is included.
1326         * trans-types.c: Do not include tm.h.  Explain why langhooks.h
1327         and dwarf2out.h are included.
1328         * trans-io.c: Do not include gimple.h and real.h.
1329         * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
1330         * trans-intrinsic.c: Do not include gimple.h.  Explain why tm.h
1331         is included.
1332
1333 2010-05-20  Tobias Burnus  <burnus@net-b.de>
1334
1335         * options.c (gfc_init_options,gfc_post_options): Enable
1336         flag_associative_math by default.
1337
1338 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1339
1340         PR fortran/43851
1341         * trans-stmt.c (gfc_trans_stop): Add generation of call to
1342         gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
1343         blank STOP, handling a null expression. (gfc_trans_pause): Use
1344         pause_string for blank PAUSE.
1345         * trans.h: Add external function declaration for error_stop_numeric.
1346         * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
1347         the declaration for the library call. Adjust whitespaces.
1348         * match.c (gfc_match_stopcode): Remove use of the actual stop code to
1349         signal no stop code. Match the expression following the stop and pass
1350         that to the translators. Remove the old use of digit matching.  Add
1351         checks that the stop_code expression is INTEGER or CHARACTER, constant,
1352         and if CHARACTER, default character KIND.
1353
1354 2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
1355
1356         PR fortran/44055
1357         * lang.opt (Wconversion-extra): New option.
1358         * gfortran.h (gfc_option_t): Add warn_conversion_extra.
1359         * options.c (gfc_init_options): Disable -Wconversion-extra by default.
1360         (set_Wall): Enable -Wconversion.
1361         (gfc_handle_option): Set warn_conversion_extra.
1362         * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
1363         introduced for -Wconversion if -Wconversion-extra is present.
1364         * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
1365         -Wconversion; document -Wconversion-extra.
1366
1367 2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
1368
1369         PR fortran/42360
1370         * gfortran.h (gfc_has_default_initializer): New.
1371         * expr.c (gfc_has_default_initializer): New.
1372         * resolve.c (has_default_initializer): Removed, use
1373         gfc_has_default_initializer() instead. Updated all callers.
1374         * trans-array.c (has_default_initializer): Removed, use
1375         gfc_has_default_initializer() instead. Updated all callers.
1376         * trans-decl.c (generate_local_decl): Do not check the
1377         first component only to check for initializers, but use
1378         gfc_has_default_initializer() instead.
1379
1380 2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
1381
1382         PR fortran/38404
1383         * primary.c (match_string_constant): Move start_locus just inside 
1384         the string.
1385         * data.c (create_character_intializer): Clarified truncation warning.
1386
1387 2010-05-19  Daniel Franke  <franke.daniel@gmail.com>
1388
1389         PR fortran/34505
1390         * intrinsic.h (gfc_check_float): New prototype.
1391         (gfc_check_sngl): New prototype.
1392         * check.c (gfc_check_float): New.
1393         (gfc_check_sngl): New.
1394         * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
1395         to be a specific for REAL. Added check routines for FLOAT, DFLOAT
1396         and SNGL.
1397         * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
1398         added them to the list of specifics of REAL instead.
1399
1400 2010-05-17  Janus Weil  <janus@gcc.gnu.org>
1401
1402         PR fortran/43990
1403         * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
1404         This is now handled via 'gfc_class_null_initializer'.
1405
1406 2010-05-17  Janus Weil  <janus@gcc.gnu.org>
1407
1408         * class.c (gfc_add_component_ref,gfc_class_null_initializer,
1409         gfc_build_class_symbol,add_proc_component,add_proc_comps, 
1410         add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1411         add_procs_to_declared_vtab,add_generic_specifics, 
1412         add_generics_to_declared_vtab,gfc_find_derived_vtab,
1413         find_typebound_proc_uop,gfc_find_typebound_proc,
1414         gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op, 
1415         gfc_get_tbp_symtree): Moved here from other places.
1416         * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
1417         class.c.
1418         * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
1419         gfc_find_typebound_proc,gfc_find_typebound_user_op,
1420         gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
1421         gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
1422         * Make-lang.in: Add class.o.
1423         * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
1424         add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1425         add_procs_to_declared_vtab,add_generic_specifics,
1426         add_generics_to_declared_vtab,gfc_find_derived_vtab,
1427         find_typebound_proc_uop,gfc_find_typebound_proc,
1428         gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1429         gfc_get_tbp_symtree): Move to class.c.
1430
1431 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
1432
1433         * trans-types.c (gfc_init_types): Use build_function_type_list.
1434         (gfc_get_ppc_type): Likewise.
1435         * trans-decl.c (gfc_generate_constructors): Likewise.
1436         * f95-lang.c (build_builtin_fntypes): Likewise.
1437         (gfc_init_builtin_functions): Likewise.
1438         (DEF_FUNCTION_TYPE_0): Likewise.
1439         (DEF_FUNCTION_TYPE_1): Likewise.
1440         (DEF_FUNCTION_TYPE_2): Likewise.
1441         (DEF_FUNCTION_TYPE_3): Likewise.
1442         (DEF_FUNCTION_TYPE_4): Likewise.
1443         (DEF_FUNCTION_TYPE_5): Likewise.
1444         (DEF_FUNCTION_TYPE_6): Likewise.
1445         (DEF_FUNCTION_TYPE_7): Likewise.  Use ARG7.
1446         (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
1447  
1448 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
1449
1450         * trans-array.c (gfc_trans_array_constructor_value): Use
1451         build_constructor instead of build_constructor_from_list.
1452         (gfc_build_constant_array_constructor): Likewise.
1453         * trans-decl.c (create_main_function): Likewise.
1454         * trans-stmt.c (gfc_trans_character_select): Likewise.
1455
1456 2010-05-17  Janus Weil  <janus@gcc.gnu.org>
1457
1458         PR fortran/44044
1459         * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
1460         (resolve_fl_variable_derived): ... this place.
1461         (resolve_symbol): Make sure function symbols (and their result
1462         variables) are not resolved twice.
1463
1464 2010-05-16  Daniel Franke  <franke.daniel@gmail.com>
1465
1466         PR fortran/35779
1467         * array.c (match_array_list): Revert change from 2010-05-13.
1468
1469 2010-05-16  Richard Guenther  <rguenther@suse.de>
1470
1471         * trans-decl.c (module_htab_decls_hash): Revert last change.
1472
1473 2010-05-16  Richard Guenther  <rguenther@suse.de>
1474
1475         * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
1476
1477 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1478
1479         * options.c (set_Wall): Remove special logic for Wuninitialized
1480         without -O.
1481
1482 2010-05-15  Janus Weil  <janus@gcc.gnu.org>
1483
1484         PR fortran/44154
1485         PR fortran/42647
1486         * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
1487         if branches.
1488
1489 2010-05-15  Janus Weil  <janus@gcc.gnu.org>
1490
1491         PR fortran/43207
1492         PR fortran/43969
1493         * gfortran.h (gfc_class_null_initializer): New prototype.
1494         * expr.c (gfc_class_null_initializer): New function to build a NULL
1495         initializer for CLASS pointers.
1496         * symbol.c (gfc_build_class_symbol): Modify internal naming of class
1497         containers. Remove default NULL initialization of $data component.
1498         * trans.c (gfc_allocate_array_with_status): Fix wording of an error 
1499         message.
1500         * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
1501         Use new function 'gfc_class_null_initializer'.
1502         * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
1503         class variables.
1504
1505 2010-05-14  Steven G. Kargl  <kargl@gcc.gnu.org>
1506
1507         PR fortran/44135
1508         * fortran/interface.c (get_sym_storage_size): Use signed instead of
1509         unsigned mpz_get_?i routines.
1510
1511 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
1512
1513         * trans.c (trans_code): Set backend locus early.
1514         * trans-decl.c (gfc_get_fake_result_decl): Use source location
1515         of the function instead of current input_location.
1516
1517 2010-05-13  Daniel Franke  <franke.daniel@gmail.com>
1518
1519         PR fortran/35779
1520         * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
1521         Updated all usages.
1522         * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
1523         * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
1524         iterators.
1525
1526 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
1527
1528         PR fortran/44036
1529         * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
1530         variable lists.
1531         * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
1532         by reference dummy procedures or non-dummy procedure pointers.
1533         (gfc_omp_predetermined_sharing): Return
1534         OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
1535
1536 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
1537
1538         PR fortran/43711
1539         * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
1540         after OMP statement.
1541         (gfc_match_omp_critical): Likewise.
1542         (gfc_match_omp_flush): Likewise.
1543         (gfc_match_omp_workshare): Likewise.
1544         (gfc_match_omp_master): Likewise.
1545         (gfc_match_omp_ordered): Likewise.
1546         (gfc_match_omp_atomic): Likewise.
1547         (gfc_match_omp_barrier): Likewise.
1548         (gfc_match_omp_end_nowait): Likewise.
1549
1550 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
1551
1552         PR fortran/31820
1553         * resolve.c (validate_case_label_expr): Removed FIXME.
1554         (resolve_select): Raise default warning on case labels out of range
1555         of the case expression.
1556
1557 2010-05-10  Daniel Franke  <franke.daniel@gmail.com>
1558
1559         PR fortran/27866
1560         PR fortran/35003
1561         PR fortran/42809
1562         * intrinsic.c (gfc_convert_type_warn): Be more discriminative
1563         about conversion warnings.
1564
1565 2010-05-10  Janus Weil  <janus@gcc.gnu.org>
1566
1567         PR fortran/44044
1568         * match.c (gfc_match_select_type): Move error message to
1569         resolve_select_type.
1570         * resolve.c (resolve_select_type): Error message moved here from
1571         gfc_match_select_type. Correctly set type of temporary.
1572
1573 2010-05-10  Richard Guenther  <rguenther@suse.de>
1574
1575         * trans-decl.c (gfc_build_library_function_decl): Split out
1576         worker to ...
1577         (build_library_function_decl_1): ... this new function.
1578         Set a fnspec attribute if a specification was provided.
1579         (gfc_build_library_function_decl_with_spec): New function.
1580         (gfc_build_intrinsic_function_decls): Annotate internal_pack
1581         and internal_unpack.
1582
1583 2010-05-07  Daniel Franke  <franke.daniel@gmail.com>
1584
1585         PR fortran/40728
1586         * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
1587         as external.
1588
1589 2010-05-07  Jason Merrill  <jason@redhat.com>
1590
1591         * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
1592         to avoid -Wc++-compat warning.
1593
1594 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1595
1596         PR 40989
1597         * options.c (gfc_handle_option): Add argument kind.
1598         * gfortran.h (gfc_handle_option): Update declaration.
1599
1600 2010-05-06  Tobias Burnus  <burnus@net-b.de>
1601
1602         PR fortran/43985
1603         * trans-types.c (gfc_sym_type): Mark Cray pointees as
1604         GFC_POINTER_TYPE_P.
1605
1606 2010-05-05  Daniel Franke  <franke.daniel@gmail.com>
1607
1608         PR fortran/32331
1609         * resolve.c (traverse_data_list): Rephrase error message for
1610         non-constant bounds in data-implied-do.
1611
1612 2010-05-05  Daniel Franke  <franke.daniel@gmail.com>
1613
1614         PR fortran/24978
1615         * gfortran.h: Removed repeat count from constructor, removed
1616         all usages.
1617         * data.h (gfc_assign_data_value_range): Changed return value from
1618         void to gfc_try.
1619         * data.c (gfc_assign_data_value): Add location to constructor element.
1620         (gfc_assign_data_value_range): Call gfc_assign_data_value()
1621         for each element in range. Return early if an error was generated.
1622         * resolve.c (check_data_variable): Stop early if range assignment
1623         generated an error.
1624
1625 2010-05-05  Janus Weil  <janus@gcc.gnu.org>
1626
1627         PR fortran/43696
1628         * resolve.c (resolve_fl_derived): Some fixes for class variables.
1629         * symbol.c (gfc_build_class_symbol): Add separate class container for
1630         class pointers.
1631
1632 2010-05-03  Steven G. Kargl  <kargl@gcc.gnu.org>
1633
1634         PR fortran/43592
1635         * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
1636
1637 2010-05-02  Tobias Burnus  <burnus@net-b.de>
1638
1639         PR fortran/18918
1640         * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
1641         for lcobound, ucobound, image_index and this_image.
1642         * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
1643         gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
1644         * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
1645         gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
1646         functions.
1647         (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
1648
1649 2010-04-30  Tobias Burnus  <burnus@net-b.de>
1650
1651         PR fortran/18918
1652         PR fortran/43931
1653         *  trans-types.c (gfc_get_array_descriptor_base): Fix index
1654         calculation for array descriptor types.
1655
1656 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
1657
1658         PR fortran/43896
1659         * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
1660         initializers for PPC members of the vtabs.
1661
1662 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
1663
1664         PR fortran/42274
1665         * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
1666         attribute for all PPC members of the vtypes.
1667         (copy_vtab_proc_comps): Copy the correct interface.
1668         * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
1669         * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
1670         a dummy argument and make sure all PPC members of the vtab are
1671         initialized correctly.
1672         (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
1673         in call to gfc_trans_assign_vtab_procs.
1674         * trans-stmt.c (gfc_trans_allocate): Ditto.
1675
1676 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
1677
1678         PR fortran/43326
1679         * resolve.c (resolve_typebound_function): Renamed
1680         resolve_class_compcall.Do all the detection of class references
1681         here.
1682         (resolve_typebound_subroutine): resolve_class_typebound_call
1683         renamed. Otherwise same as resolve_typebound_function.
1684         (gfc_resolve_expr): Call resolve_typebound_function.
1685         (resolve_code): Call resolve_typebound_subroutine.
1686
1687 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
1688
1689         PR fortran/43492
1690         * resolve.c (resolve_typebound_generic_call): For CLASS methods
1691         pass back the specific symtree name, rather than the target
1692         name.
1693
1694 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
1695
1696         PR fortran/42353
1697         * resolve.c (resolve_structure_cons): Make the initializer of
1698         the vtab component 'extends' the same type as the component.
1699
1700 2010-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1701
1702         PR fortran/42680
1703         * interface.c (check_interface1): Pass symbol name rather than NULL to
1704         gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
1705         trap MULL. (gfc_compare_derived_types): Revert previous change
1706         incorporated incorrectly during merge from trunk, r155778.
1707         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1708         than NULL to gfc_compare_interfaces.
1709         * symbol.c (add_generic_specifics): Likewise.
1710
1711 2010-02-29  Janus Weil  <janus@gcc.gnu.org>
1712
1713         PR fortran/42353
1714         * interface.c (gfc_compare_derived_types): Add condition for vtype.
1715         * symbol.c (gfc_find_derived_vtab): Sey access to private.
1716         (gfc_find_derived_vtab): Likewise.
1717         * module.c (ab_attribute): Add enumerator AB_VTAB.
1718         (mio_symbol_attribute): Use new attribute, AB_VTAB.
1719         (check_for_ambiguous): Likewise.
1720
1721 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
1722             Janus Weil  <janus@gcc.gnu.org>
1723
1724         PR fortran/41829
1725         * trans-expr.c (select_class_proc): Remove function.
1726         (conv_function_val): Delete reference to previous.
1727         (gfc_conv_derived_to_class): Add second argument to the call to
1728         gfc_find_derived_vtab.
1729         (gfc_conv_structure): Exclude proc_pointer components when
1730         accessing $data field of class objects.
1731         (gfc_trans_assign_vtab_procs): New function.
1732         (gfc_trans_class_assign): Add second argument to the call to
1733         gfc_find_derived_vtab.
1734         * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
1735         implement holding off searching for the vptr derived type.
1736         (add_proc_component): New function.
1737         (add_proc_comps): New function.
1738         (add_procs_to_declared_vtab1): New function.
1739         (copy_vtab_proc_comps): New function.
1740         (add_procs_to_declared_vtab): New function.
1741         (void add_generic_specifics): New function.
1742         (add_generics_to_declared_vtab): New function.
1743         (gfc_find_derived_vtab): Add second argument to the call to
1744         gfc_find_derived_vtab. Add the calls to
1745         add_procs_to_declared_vtab and add_generics_to_declared_vtab.
1746         * decl.c (build_sym, build_struct): Use new arg in calls to
1747         gfc_build_class_symbol.
1748         * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
1749         definition of struct gfc_class_esym_list. Modify prototypes
1750         of gfc_build_class_symbol and gfc_find_derived_vtab.
1751         * trans-stmt.c (gfc_trans_allocate): Add second argument to the
1752         call to gfc_find_derived_vtab.
1753         * module.c : Add the vtype attribute.
1754         * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
1755         * resolve.c (resolve_typebound_generic_call): Add second arg
1756         to pass along the generic name for class methods.
1757         (resolve_typebound_call): The same.
1758         (resolve_compcall): Use the second arg to carry the generic
1759         name from the above. Remove the reference to class_esym.
1760         (check_members, check_class_members, resolve_class_esym,
1761         hash_value_expr): Remove functions.
1762         (resolve_class_compcall, resolve_class_typebound_call): Modify
1763         to use vtable rather than member by member calls.
1764         (gfc_resolve_expr): Modify second arg in call to
1765         resolve_compcall.
1766         (resolve_select_type): Add second arg in call to
1767         gfc_find_derived_vtab.
1768         (resolve_code): Add second arg in call resolve_typebound_call.
1769         (resolve_fl_derived): Exclude vtypes from check for late
1770         procedure definitions. Likewise for checking of explicit
1771         interface and checking of pass arg.
1772         * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
1773         calls to gfc_find_derived_vtab.
1774         * match.c (select_type_set_tmp): Use new arg in call to
1775         gfc_build_class_symbol.
1776         * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
1777         necessary.
1778         * parse.c (endType): Finish incomplete classes.
1779
1780 2010-04-28  Tobias Burnus  <burnus@net-b.de>
1781
1782         PR fortran/18918
1783         PR fortran/43919
1784         * simplify.c (simplify_cobound): Handle scalar coarrays.
1785
1786 2010-04-27  Tobias Burnus  <burnus@net-b.de>
1787
1788         * gfc-internals.texi: Update copyright year.
1789         * gfortran.texi: Ditto.
1790         * invoke.texi: Ditto.
1791
1792 2010-04-27  Tobias Burnus  <burnus@net-b.de>
1793
1794         PR fortran/18918
1795         * resolve.c (resolve_allocate_expr): Allow array coarrays.
1796         * trans-types.h (gfc_get_array_type_bounds): Update prototype.
1797         * trans-types.c (gfc_get_array_type_bounds,
1798         gfc_get_array_descriptor_base): Add corank argument.
1799         * trans-array.c (gfc_array_init_size): Handle corank.
1800         (gfc_trans_create_temp_array, gfc_array_allocate,
1801         gfc_conv_expr_descriptor): Add corank argument to call.
1802         * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
1803
1804 2010-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>
1805
1806         PR fortran/30073
1807         PR fortran/43793
1808         * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
1809         of mucking with a tree directly.
1810
1811 2010-04-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1812
1813         PR fortran/43832
1814         * io.c (gfc_match_open): Remove branch to syntax error. Add call to
1815         gfc_error with new error message.
1816
1817 2010-04-24  Paul Thomas  <pault@gcc.gnu.org>
1818
1819         PR fortran/43841
1820         PR fortran/43843
1821         * trans-expr.c (gfc_conv_expr): Supply an address expression for
1822         GFC_SS_REFERENCE.
1823         (gfc_conv_expr_reference): Call gfc_conv_expr and return for
1824         GFC_SS_REFERENCE.
1825         * trans-array.c (gfc_add_loop_ss_code): Store the value rather
1826         than the address of a GFC_SS_REFERENCE.
1827         * trans.h : Change comment on GFC_SS_REFERENCE. 
1828
1829 2010-04-22  Richard Guenther  <rguenther@suse.de>
1830
1831         PR fortran/43829
1832         * resolve.c (gfc_resolve_index): Wrap around ...
1833         (gfc_resolve_index_1): ... this.  Add parameter to allow
1834         any integer kind index type.
1835         (resolve_array_ref): Allow any integer kind for the start
1836         index of an array ref.
1837
1838 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
1839
1840         PR fortran/43836
1841         * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
1842         the decl.
1843
1844 2010-04-20  Harald Anlauf  <anlauf@gmx.de>
1845
1846         * intrinsic.c (sort_actual): Remove 'is' in error message.
1847
1848 2010-04-20  Paul Thomas  <pault@gcc.gnu.org>
1849
1850         PR fortran/43227
1851         * resolve.c (resolve_fl_derived): If a component character
1852         length has not been resolved, do so now.
1853         (resolve_symbol): The same as above for a symbol character
1854         length.
1855         * trans-decl.c (gfc_create_module_variable): A 'length' decl is
1856         not needed for a character valued, procedure pointer.
1857
1858         PR fortran/43266
1859         * resolve.c (ensure_not_abstract_walker): If 'overriding' is
1860         not found, return FAILURE rather than ICEing.
1861
1862 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
1863
1864         PR fortran/43339
1865         * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
1866         sequential loops private in the innermost containing task region.
1867
1868 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
1869
1870         * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
1871         to build_common_tree_nodes.
1872
1873 2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>
1874
1875         PR fortran/31538
1876         * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
1877         gfc_msg_bounds by using 'Array bound mismatch' directly.
1878         (gfc_trans_dummy_array_bias):  Remove the use of gfc_msg_bounds.  Reword
1879         error message to include the mismatch in the extent of array bound.
1880         * fortran/trans.c: Remove gfc_msg_bounds.  It is only used in one place.
1881         * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
1882
1883 2010-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1884
1885         * gfortran.texi: Update information on temporary file locations.
1886
1887 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
1888
1889         * trans-decl.c (gfc_build_qualified_array): Ensure
1890         ubound.N and lbound.N artificial variable names don't appear
1891         in debug info.
1892
1893 2010-04-15  Steven G. Kargl  <kargl@gcc.gnu.org>
1894
1895         PR fortran/30073
1896         * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
1897         block of code.  Set name to the variable associated with the descriptor.
1898
1899 2010-04-15  Jakub Jelinek  <jakub@redhat.com>
1900
1901         * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
1902         on VAR_DECL LBOUND and/or UBOUND, even for -O1.
1903
1904 2010-04-14  Steven G. Kargl  <kargl@gcc.gnu.org>
1905
1906         * intrinsic.texi: Add the missing specific name of intrinsic
1907         procedure where the specific name is identical to the generic name.
1908         Fix inconsistent or mismatch in the argument names in intrinsic
1909         procedure descriptions.  Add the SCALAR allocatable description to
1910         ALLOCATED.
1911
1912 2010-04-14  Tobias Burnus  <burnus@net-b.de>
1913
1914         PR fortran/18918
1915         * array.c (gfc_find_array_ref): Handle codimensions.
1916         (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
1917         * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
1918         gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
1919         New functions.
1920         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
1921         GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
1922         GFC_ISYM_UCOBOUND.
1923         * intrinsic.h (add_functions): Add this_image, image_index,
1924         lcobound and ucobound intrinsics.
1925         * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
1926         gfc_check_image_index, gfc_check_this_image,
1927         gfc_simplify_image_index, gfc_simplify_lcobound,
1928         gfc_simplify_this_image, gfc_simplify_ucobound):
1929         New function prototypes.
1930         * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
1931         IMAGE_INDEX): Document new intrinsic functions.
1932         * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
1933         error fatal.
1934         * simplify.c (simplify_bound_dim): Handle coarrays.
1935         (simplify_bound): Update simplify_bound_dim call.
1936         (gfc_simplify_num_images): Add -fcoarray=none check.
1937         (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
1938         gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
1939
1940 2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1941
1942         PR fortran/43747
1943         * constructor.c: Fix typo in comment.
1944         * expr.c (find_array_section): Add check for max array limit.
1945
1946 2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>
1947
1948         PR bootstrap/31400
1949         * gfortranspec.c (lookup_option): Check for -static and return
1950         OPTION_static.
1951         (lang_specific_driver): Break when OPTION_static is discovered.
1952
1953 2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1954
1955         * array.c (extract_element): Restore function from trunk.
1956         (gfc_get_array_element): Restore function from trunk.
1957         (gfc_expand_constructor): Restore check against
1958         flag_max_array_constructor.
1959         * constructor.c (node_copy_and_append): Delete unused.
1960         * gfortran.h: Delete comment and extra include.
1961         * constructor.h: Bump copyright and clean up TODO comments.
1962         * resolve.c: Whitespace.
1963
1964 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
1965
1966         * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
1967         with direct access access to elements. Adjusted prototype, fixed all
1968         callers.
1969         (gfc_simplify_dot_product): Removed duplicate check for zero-sized
1970         array.
1971         (gfc_simplify_matmul): Removed usage of ADVANCE macro.
1972         (gfc_simplify_spread): Removed workaround, directly insert elements
1973         at a given array position.
1974         (gfc_simplify_transpose): Likewise.
1975         (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
1976         function calls.
1977         (gfc_simplify_unpack): Likewise.
1978
1979 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
1980
1981         * simplify.c (only_convert_cmplx_boz): Renamed to ...
1982         (convert_boz): ... this and moved to start of file.
1983         (gfc_simplify_abs): Whitespace fix.
1984         (gfc_simplify_acos): Whitespace fix.
1985         (gfc_simplify_acosh): Whitespace fix.
1986         (gfc_simplify_aint): Whitespace fix.
1987         (gfc_simplify_dint): Whitespace fix.
1988         (gfc_simplify_anint): Whitespace fix.
1989         (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
1990         (gfc_simplify_dnint): Whitespace fix.
1991         (gfc_simplify_asin): Whitespace fix.
1992         (gfc_simplify_asinh): Moved creation of result-expr out of switch.
1993         (gfc_simplify_atan): Likewise.
1994         (gfc_simplify_atanh): Whitespace fix.
1995         (gfc_simplify_atan2): Whitespace fix.
1996         (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
1997         (gfc_simplify_bessel_j1): Likewise.
1998         (gfc_simplify_bessel_jn): Likewise.
1999         (gfc_simplify_bessel_y0): Likewise.
2000         (gfc_simplify_bessel_y1): Likewise.
2001         (gfc_simplify_bessel_yn): Likewise.
2002         (gfc_simplify_ceiling): Reorderd statements.
2003         (simplify_cmplx): Use convert_boz(), check for constant arguments.
2004         Whitespace fix.
2005         (gfc_simplify_cmplx): Use correct default kind. Removed check for
2006         constant arguments.
2007         (gfc_simplify_complex): Replaced if-gate. Removed check for
2008         constant arguments.
2009         (gfc_simplify_conjg): Whitespace fix.
2010         (gfc_simplify_cos): Whitespace fix.
2011         (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
2012         (gfc_simplify_dcmplx): Removed check for constant arguments.
2013         (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
2014         (gfc_simplify_digits): Whitespace fix.
2015         (gfc_simplify_dim): Whitespace fix.
2016         (gfc_simplify_dprod): Reordered statements.
2017         (gfc_simplify_erf): Whitespace fix.
2018         (gfc_simplify_erfc): Whitespace fix.
2019         (gfc_simplify_epsilon): Whitespace fix.
2020         (gfc_simplify_exp): Whitespace fix.
2021         (gfc_simplify_exponent): Use convert_boz().
2022         (gfc_simplify_floor): Reorderd statements.
2023         (gfc_simplify_gamma): Whitespace fix.
2024         (gfc_simplify_huge): Whitespace fix.
2025         (gfc_simplify_iand): Whitespace fix.
2026         (gfc_simplify_ieor): Whitespace fix.
2027         (simplify_intconv): Use gfc_convert_constant().
2028         (gfc_simplify_int): Use simplify_intconv().
2029         (gfc_simplify_int2): Reorderd statements.
2030         (gfc_simplify_idint): Reorderd statements.
2031         (gfc_simplify_ior): Whitespace fix.
2032         (gfc_simplify_ishftc): Removed duplicate type check.
2033         (gfc_simplify_len): Use range_check() instead of manual range check.
2034         (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
2035         (gfc_simplify_log): Whitespace fix.
2036         (gfc_simplify_log10): Whitespace fix.
2037         (gfc_simplify_minval): Whitespace fix.
2038         (gfc_simplify_maxval): Whitespace fix.
2039         (gfc_simplify_mod): Whitespace fix.
2040         (gfc_simplify_modulo): Whitespace fix.
2041         (simplify_nint): Reorderd statements.
2042         (gfc_simplify_not): Whitespace fix.
2043         (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
2044         (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
2045         (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
2046         (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
2047         (gfc_simplify_realpart): Whitespace fix.
2048         (gfc_simplify_selected_char_kind): Removed unused result-variable.
2049         (gfc_simplify_selected_int_kind): Removed unused result-variable.
2050         (gfc_simplify_selected_real_kind): Removed unused result-variable.
2051         (gfc_simplify_sign): Whitespace fix.
2052         (gfc_simplify_sin): Whitespace fix.
2053         (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
2054         (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
2055         (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
2056         (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
2057         (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
2058
2059 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
2060
2061         * gfortran.h (gfc_start_constructor): Removed.
2062         (gfc_get_array_element): Removed.
2063         * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr 
2064         instead. Fixed all callers.
2065         (extract_element): Removed.
2066         (gfc_expand_constructor): Temporarily removed check for
2067         max-array-constructor. Will be re-introduced later if still required.
2068         (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
2069         instead. Fixed all callers.
2070         * expr.c (find_array_section): Replaced manual lookup of elements
2071         by gfc_constructor_lookup.
2072
2073 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
2074
2075         * gfortran.h (gfc_get_null_expr): New prototype.
2076         (gfc_get_operator_expr): New prototype.
2077         (gfc_get_character_expr): New prototype.
2078         (gfc_get_iokind_expr): New prototype.
2079         * expr.c (gfc_get_null_expr): New.
2080         (gfc_get_character_expr): New.
2081         (gfc_get_iokind_expr): New.
2082         (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
2083         * matchexp.c (build_node): Renamed and moved to
2084         expr.c (gfc_get_operator_expr). Reordered arguments to match 
2085         other functions. Fixed all callers.
2086         (gfc_get_parentheses): Use specific function to build expr.
2087         * array.c (gfc_match_array_constructor): Likewise.
2088         * arith.c (eval_intrinsic): Likewise.
2089         (gfc_hollerith2int): Likewise.
2090         (gfc_hollerith2real): Likewise.
2091         (gfc_hollerith2complex): Likewise.
2092         (gfc_hollerith2logical): Likewise.
2093         * data.c (create_character_intializer): Likewise.
2094         * decl.c (gfc_match_null): Likewise.
2095         (enum_initializer): Likewise.
2096         * io.c (gfc_match_format): Likewise.
2097         (match_io): Likewise.
2098         * match.c (gfc_match_nullify): Likewise.
2099         * primary.c (match_string_constant): Likewise.
2100         (match_logical_constant): Likewise.
2101         (build_actual_constructor): Likewise.
2102         * resolve.c (build_default_init_expr): Likewise.
2103         * symbol.c (generate_isocbinding_symbol): Likewise.
2104         (gfc_build_class_symbol): Likewise.
2105         (gfc_find_derived_vtab): Likewise.
2106         * simplify.c (simplify_achar_char): Likewise.
2107         (gfc_simplify_adjustl): Likewise.
2108         (gfc_simplify_adjustr): Likewise.
2109         (gfc_simplify_and): Likewise.
2110         (gfc_simplify_bit_size): Likewise.
2111         (gfc_simplify_is_iostat_end): Likewise.
2112         (gfc_simplify_is_iostat_eor): Likewise.
2113         (gfc_simplify_isnan): Likewise.
2114         (simplify_bound): Likewise.
2115         (gfc_simplify_leadz): Likewise.
2116         (gfc_simplify_len_trim): Likewise.
2117         (gfc_simplify_logical): Likewise.
2118         (gfc_simplify_maxexponent): Likewise.
2119         (gfc_simplify_minexponent): Likewise.
2120         (gfc_simplify_new_line): Likewise.
2121         (gfc_simplify_null): Likewise.
2122         (gfc_simplify_or): Likewise.
2123         (gfc_simplify_precision): Likewise.
2124         (gfc_simplify_repeat): Likewise.
2125         (gfc_simplify_scan): Likewise.
2126         (gfc_simplify_size): Likewise.
2127         (gfc_simplify_trailz): Likewise.
2128         (gfc_simplify_trim): Likewise.
2129         (gfc_simplify_verify): Likewise.
2130         (gfc_simplify_xor): Likewise.
2131         * trans-io.c (build_dt): Likewise.
2132         (gfc_new_nml_name_expr): Removed.
2133
2134 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
2135
2136         * arith.h (gfc_constant_result): Removed prototype.
2137         * constructor.h (gfc_build_array_expr): Removed prototype.
2138         (gfc_build_structure_constructor_expr): Removed prototype.
2139         * gfortran.h (gfc_int_expr): Removed prototype.
2140         (gfc_logical_expr): Removed prototype.
2141         (gfc_get_array_expr): New prototype.
2142         (gfc_get_structure_constructor_expr): New prototype.
2143         (gfc_get_constant_expr): New prototype.
2144         (gfc_get_int_expr): New prototype.
2145         (gfc_get_logical_expr): New prototype.
2146         * arith.c (gfc_constant_result): Moved and renamed to
2147         expr.c (gfc_get_constant_expr). Fixed all callers.
2148         * constructor.c (gfc_build_array_expr): Moved and renamed to
2149         expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
2150         and kind. Fixed all callers.
2151         (gfc_build_structure_constructor_expr): Moved and renamed to
2152         expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
2153         to type and kind. Fixed all callers.
2154         * expr.c (gfc_logical_expr): Renamed to ...
2155         (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
2156         (gfc_int_expr): Renamed to ...
2157         (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
2158         callers.
2159         (gfc_get_constant_expr): New.
2160         (gfc_get_array_expr): New.
2161         (gfc_get_structure_constructor_expr): New.
2162         * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
2163         instead.
2164
2165 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
2166
2167         * constructor.h: New.
2168         * constructor.c: New.
2169         * Make-lang.in: Add new files to F95_PARSER_OBJS.
2170         * arith.c (reducy_unary): Use constructor API.
2171         (reduce_binary_ac): Likewise.
2172         (reduce_binary_ca): Likewise.
2173         (reduce_binary_aa): Likewise.
2174         * check.c (gfc_check_pack): Likewise.
2175         (gfc_check_reshape): Likewise.
2176         (gfc_check_unpack): Likewise.
2177         * decl.c (add_init_expr_to_sym): Likewise.
2178         (build_struct): Likewise.
2179         * dependency.c (gfc_check_dependency): Likewise.
2180         (contains_forall_index_p): Likewise.
2181         * dump-parse-tree.c (show_constructor): Likewise.
2182         * expr.c (free_expr0): Likewise.
2183         (gfc_copy_expr): Likewise.
2184         (gfc_is_constant_expr): Likewise.
2185         (simplify_constructor): Likewise.
2186         (find_array_element): Likewise.
2187         (find_component_ref): Likewise.
2188         (find_array_section): Likewise.
2189         (find_substring_ref): Likewise.
2190         (simplify_const_ref): Likewise.
2191         (scalarize_intrinsic_call): Likewise.
2192         (check_alloc_comp_init): Likewise.
2193         (gfc_default_initializer): Likewise.
2194         (gfc_traverse_expr): Likewise.
2195         * iresolve.c (check_charlen_present): Likewise.
2196         (gfc_resolve_reshape): Likewise.
2197         (gfc_resolve_transfer): Likewise.
2198         * module.c (mio_constructor): Likewise.
2199         * primary.c (build_actual_constructor): Likewise.
2200         (gfc_match_structure_constructor): Likewise.
2201         * resolve.c (resolve_structure_cons): Likewise.
2202         * simplify.c (is_constant_array_expr): Likewise.
2203         (init_result_expr): Likewise.
2204         (transformational_result): Likewise.
2205         (simplify_transformation_to_scalar): Likewise.
2206         (simplify_transformation_to_array): Likewise.
2207         (gfc_simplify_dot_product): Likewise.
2208         (simplify_bound): Likewise.
2209         (simplify_matmul): Likewise.
2210         (simplify_minval_maxval): Likewise.
2211         (gfc_simplify_pack): Likewise.
2212         (gfc_simplify_reshape): Likewise.
2213         (gfc_simplify_shape): Likewise.
2214         (gfc_simplify_spread): Likewise.
2215         (gfc_simplify_transpose): Likewise.
2216         (gfc_simplify_unpack): Likewise.q
2217         (gfc_convert_constant): Likewise.
2218         (gfc_convert_char_constant): Likewise.
2219         * target-memory.c (size_array): Likewise.
2220         (encode_array): Likewise.
2221         (encode_derived): Likewise.
2222         (interpret_array): Likewise.
2223         (gfc_interpret_derived): Likewise.
2224         (expr_to_char): Likewise.
2225         (gfc_merge_initializers): Likewise.
2226         * trans-array.c (gfc_get_array_constructor_size): Likewise.
2227         (gfc_trans_array_constructor_value): Likewise.
2228         (get_array_ctor_strlen): Likewise.
2229         (gfc_constant_array_constructor_p): Likewise.
2230         (gfc_build_constant_array_constructor): Likewise.
2231         (gfc_trans_array_constructor): Likewise.
2232         (gfc_conv_array_initializer): Likewise.
2233         * trans-decl.c (check_constant_initializer): Likewise.
2234         * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
2235         (gfc_apply_interface_mapping_to_cons): Likewise.
2236         (gfc_trans_structure_assign): Likewise.
2237         (gfc_conv_structure): Likewise.
2238         * array.c (check_duplicate_iterator): Likewise.
2239         (match_array_list): Likewise.
2240         (match_array_cons_element): Likewise.
2241         (gfc_match_array_constructor): Likewise.
2242         (check_constructor_type): Likewise.
2243         (check_constructor): Likewise.
2244         (expand): Likewise.
2245         (expand_constructor): Likewise.
2246         (extract_element): Likewise.
2247         (gfc_expanded_ac): Likewise.
2248         (resolve_array_list): Likewise.
2249         (gfc_resolve_character_array_constructor): Likewise.
2250         (copy_iterator): Renamed to ...
2251         (gfc_copy_iterator): ... this.
2252         (gfc_append_constructor): Removed.
2253         (gfc_insert_constructor): Removed unused function.
2254         (gfc_get_constructor): Removed.
2255         (gfc_free_constructor): Removed.
2256         (qgfc_copy_constructor): Removed.
2257         * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
2258         Removed all references. Replaced constructor list by splay-tree.
2259         (struct gfc_constructor): Removed member 'next', moved 'offset' from
2260         the inner struct, added member 'base'.
2261         (gfc_append_constructor): Removed prototype.
2262         (gfc_insert_constructor): Removed prototype.
2263         (gfc_get_constructor): Removed prototype.
2264         (gfc_free_constructor): Removed prototype.
2265         (qgfc_copy_constructor): Removed prototype.
2266         (gfc_copy_iterator): New prototype.
2267         * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
2268
2269 2010-04-10  Tobias Burnus  <burnus@net-b.de>
2270
2271         PR fortran/43591
2272         * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
2273         proc-pointers and type-bound procedures.
2274         (gfc_specification_expr): Check proc-pointers for pureness.
2275
2276 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
2277
2278         PR bootstrap/43684
2279         * gfortranspec.c (lang_specific_driver): Do not expose vars 
2280         only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
2281         for such.
2282
2283 2010-04-09  Tobias Burnus  <burnus@net-b.de>
2284
2285         PR fortran/18918
2286         * decl.c (variable_decl, match_attr_spec): Fix setting the array
2287         spec.
2288         * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
2289         * data.c (gfc_assign_data_value): Ditto.
2290         * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
2291         (gfc_traverse_expr): Traverse also through codimension expressions.
2292         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2293         gfc_has_ultimate_pointer): New functions.
2294         * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
2295         (gfc_array_ref): Add codimen.
2296         (gfc_array_ref): Add in_allocate.
2297         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
2298         gfc_has_ultimate_pointer): Add prototypes.
2299         * interface.c (compare_parameter, compare_actual_formal,
2300         check_intents): Add coarray constraints.
2301         * match.c (gfc_match_iterator): Add coarray constraint.
2302         * match.h (gfc_match_array_ref): Update interface.
2303         * primary.c (gfc_match_varspec): Handle codimensions.
2304         * resolve.c (coarray_alloc, inquiry_argument): New static variables.
2305         (check_class_members): Return gfc_try instead for error recovery.
2306         (resolve_typebound_function,resolve_typebound_subroutine,
2307         check_members): Handle return value of check_class_members.
2308         (resolve_structure_cons, resolve_actual_arglist, resolve_function,
2309         check_dimension, compare_spec_to_ref, resolve_array_ref,
2310         resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
2311         resolve_allocate_expr, resolve_ordinary_assign): Add coarray
2312         support.
2313         * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
2314         Skip over coarray refs.
2315         (gfc_array_allocate) Add support for references containing coindexes.
2316         * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
2317         (gfc_map_intrinsic_function): Ignore codimensions.
2318
2319 2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>
2320
2321         PR fortran/28039
2322         * io.c (check_format_string):  Added check for additional non 
2323         blank characters after the format string was successfully 
2324         parsed.
2325         * io.c (check_format): Changed the error messages for positive
2326         int required and period required to drop through the error logic
2327         and report with gfc_error instead of gfc_error_now.  Corrected
2328         format postion for hollerith strings.
2329
2330 2010-04-08  Tobias Burnus  <burnus@net-b.de>
2331
2332         * module.c (use_iso_fortran_env_module): Fix standard check.
2333
2334 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
2335
2336         * parse.c (parse_derived, parse_enum): Avoid set but not used
2337         warning.
2338
2339 2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
2340
2341         PR fortran/40539
2342         * gfortran.texi: Add section about representation of
2343         LOGICAL variables.
2344
2345 2010-04-07  Simon Baldwin  <simonb@google.com>
2346
2347         * cpp.c (cb_cpp_error): Add warning reason argument, set a value
2348         for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
2349
2350 2010-04-07  Richard Guenther  <rguenther@suse.de>
2351
2352         * options.c (gfc_init_options): Do not set.
2353
2354 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2355
2356         PR fortran/18918
2357         * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
2358         * match.c (gfc_match_critical, sync_statement): Ditto.
2359         * gfortran.h (gfc_fcoarray): New enum.
2360         (gfc_option_t): Use it.
2361         * lang.opt (fcoarray): Add new flag.
2362         * invoke.texi (fcoarray): Document it.
2363         * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
2364         (gfc_handle_coarray_option): New function.
2365
2366 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2367
2368         PR fortran/18918
2369         * gfortran.h (gfc_array_spec): Add cotype.
2370         * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
2371         and defer error diagnostic.
2372         * resolve.c (resolve_fl_derived): Add missing check.
2373         (resolve_symbol): Add cotype/type check.
2374         * parse.c (parse_derived): Fix setting of coarray_comp.
2375
2376 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2377
2378         PR fortran/18918
2379         * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
2380         match_array_element_spec,gfc_copy_array_spec,
2381         gfc_compare_array_spec): Include corank.
2382         (match_array_element_spec,gfc_set_array_spec): Support codimension.
2383         * decl.c (build_sym,build_struct,variable_decl,
2384         match_attr_spec,attr_decl1,cray_pointer_decl,
2385         gfc_match_volatile): Add codimension.
2386         (gfc_match_codimension): New function.
2387         * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
2388         * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
2389         (gfc_add_codimension): New function prototype.
2390         * match.h (gfc_match_codimension): New function prototype.
2391         (gfc_match_array_spec): Update prototype
2392         * match.c (gfc_match_common): Update gfc_match_array_spec call.
2393         * module.c (MOD_VERSION): Bump.
2394         (mio_symbol_attribute): Support coarray attributes.
2395         (mio_array_spec): Add corank support.
2396         * parse.c (decode_specification_statement,decode_statement,
2397         parse_derived): Add coarray support.
2398         * resolve.c (resolve_formal_arglist, was_declared,
2399         is_non_constant_shape_array, resolve_fl_variable,
2400         resolve_fl_derived, resolve_symbol): Add coarray support.
2401         * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
2402         gfc_build_class_symbol): Add coarray support.
2403         (gfc_add_codimension): New function.
2404
2405 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2406
2407         PR fortran/18918
2408         * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
2409         atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
2410         stat_locked_other_image, stat_stopped_image and stat_unlocked of
2411         Fortran 2008.
2412         * intrinsic.texi (iso_fortran_env): Ditto.
2413         * libgfortran.h (libgfortran_stat_codes): New enum.
2414         * module.c (use_iso_fortran_env_module): Honour -std= when loading
2415         constants from the intrinsic module.
2416
2417 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2418
2419         PR fortran/39997
2420         * intrinsic.c (add_functions): Add num_images.
2421         * decl.c (gfc_match_end): Handle END CRITICAL.
2422         * intrinsic.h (gfc_simplify_num_images): Add prototype.
2423         * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
2424         and SYNC.
2425         * gfortran.h (gfc_statement): Add enum items for those.
2426         (gfc_exec_op) Ditto.
2427         (gfc_isym_id): Add num_images.
2428         * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
2429         (gfc_trans_sync,gfc_trans_critical): New functions.
2430         * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
2431         gfc_trans_critical): Add/update prototypes.
2432         * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
2433         and SYNC statements.
2434         * trans.h (gfor_fndecl_error_stop_string) Add variable.
2435         * resolve.c (resolve_sync): Add function.
2436         (gfc_resolve_blocks): Handle CRITICAL.
2437         (resolve_code): Handle CRITICAL, ERROR STOP,
2438         (resolve_branch): Add CRITICAL constraint check.
2439         and SYNC statements.
2440         * st.c (gfc_free_statement): Add new statements.
2441         * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
2442         (gfc_build_builtin_function_decls): Initialize it.
2443         * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
2444         (gfc_match_critical, gfc_match_error_stop, sync_statement,
2445         gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
2446         New functions.
2447         (match_exit_cycle): Handle CRITICAL constraint.
2448         (gfc_match_stopcode): Handle ERROR STOP.
2449         * match.h (gfc_match_critical, gfc_match_error_stop,
2450         gfc_match_sync_all, gfc_match_sync_images,
2451         gfc_match_sync_memory): Add prototype.
2452         * parse.c (decode_statement, gfc_ascii_statement,
2453         parse_executable): Handle new statements.
2454         (parse_critical_block): New function.
2455         * parse.h (gfc_compile_state): Add COMP_CRITICAL.
2456         * intrinsic.texi (num_images): Document new function.
2457         * simplify.c (gfc_simplify_num_images): Add function.
2458
2459 2010-04-06  Tobias Burnus  <burnus@net-b.de>
2460
2461         PR fortran/43178
2462         * trans-array.c (gfc_conv_expr_descriptor): Update
2463         gfc_trans_scalar_assign call.
2464         (has_default_initializer): New function.
2465         (gfc_trans_deferred_array): Nullify less often.
2466         * trans-expr.c (gfc_conv_subref_array_arg,
2467         gfc_trans_subcomponent_assign): Update call to
2468         gfc_trans_scalar_assign.
2469         (gfc_trans_scalar_assign): Add parameter and pass it on.
2470         (gfc_trans_assignment_1): Optionally, do not dealloc before
2471         assignment.
2472         * trans-openmp.c (gfc_trans_omp_array_reduction): Update
2473         call to gfc_trans_scalar_assign.
2474         * trans-decl.c (gfc_get_symbol_decl): Do not always apply
2475         initializer to static variables.
2476         (gfc_init_default_dt): Add dealloc parameter and pass it on.
2477         * trans-stmt.c (forall_make_variable_temp,
2478         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2479         gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
2480         gfc_trans_allocate): Update gfc_trans_assignment call.
2481         * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
2482         gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
2483         parameter to prototype.
2484
2485 2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
2486
2487         * ioparm.def : Update copyright.
2488         * lang.opt : ditto
2489         * trans-array.c : ditto
2490         * trans-array.h : ditto
2491         * expr.c: ditto
2492         * trans-types.c: ditto
2493         * dependency.c : ditto
2494         * gfortran.h : ditto
2495         * options.c : ditto
2496         * trans-io.c : ditto
2497         * trans-intrinsic.c : ditto
2498         * libgfortran.h : ditto
2499         * invoke.texi : ditto
2500         * intrinsic.texi : ditto
2501         * trans.c : ditto
2502         * trans.h : ditto
2503         * intrinsic.c : ditto
2504         * interface.c : ditto
2505         * iresolve.c : ditto
2506         * trans-stmt.c : ditto
2507         * trans-stmt.h : ditto
2508         * parse,c : ditto
2509         * match.h : ditto
2510         * error.c : ditto
2511
2512 2010-03-20  Paul Thomas  <pault@gcc.gnu.org>
2513
2514         PR fortran/43450
2515         * trans-decl.c (gfc_create_module_variable): With -fwhole-file
2516         do not assert the context of derived types.
2517
2518 2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2519
2520         PR fortran/43409
2521         * ioparm.def: Change inquire size variable to type pointer to
2522         GFC_IO_INT type.
2523
2524 2010-03-18  Paul Thomas  <pault@gcc.gnu.org>
2525
2526         PR fortran/43039
2527         * trans-expr.c (conv_parent_component_references): Ensure that
2528         'dt' has a backend_decl.
2529
2530         PR fortran/43043
2531         * trans-expr.c (gfc_conv_structure): Ensure that the derived
2532         type has a backend_decl.
2533
2534         PR fortran/43044
2535         * resolve.c (resolve_global_procedure): Check that the 'cl'
2536         structure is not NULL.
2537
2538 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
2539
2540         * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
2541         redundant tab.
2542
2543 2010-03-17  Tobias Burnus  <burnus@net-b.de>
2544
2545         PR fortran/43331
2546         * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
2547         gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
2548         check.
2549         * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
2550         pointees as having explizit size.
2551         * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
2552         check.
2553         * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
2554         (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
2555         * resolve.c (resolve_symbol): Handle cp_was_assumed.
2556         * trans-decl.c (gfc_trans_deferred_vars): Ditto.
2557         (gfc_finish_var_decl): Don't mark Cray pointees as restricted
2558         pointers.
2559
2560 2010-03-14  Tobias Burnus  <burnus@net-b.de>
2561
2562         PR fortran/43362
2563         * resolve.c (resolve_structure_cons): Add missing PURE constraint.
2564         (resolve_ordinary_assign): Add check to avoid segfault.
2565
2566 2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
2567
2568         PR fortran/43291
2569         PR fortran/43326
2570         * resolve.c (resolve_compcall): Add new boolean dummy argument
2571         'class_members'. Only resolve expression at end if false.
2572         Remove redundant, static variable 'class_object'.
2573         (check_class_members): Add extra argument to call of
2574         resolve_compcall.
2575         (resolve_typebound_function): Renamed resolve_class_compcall.
2576         Do all the detection of class references here. Correct calls to
2577         resolve_compcall for extra argument.
2578         (resolve_typebound_subroutine): resolve_class_typebound_call
2579         renamed. Otherwise same as resolve_typebound_function.
2580         (gfc_resolve_expr): Call resolve_typebound_function.
2581         (resolve_code): Call resolve_typebound_subroutine.
2582
2583 2010-03-10  Tobias Burnus  <burnus@net-b.de
2584
2585         PR fortran/43303
2586         * symbol.c (get_iso_c_sym): Set sym->result.
2587
2588 2010-03-08  Janus Weil  <janus@gcc.gnu.org>
2589
2590         PR fortran/43256
2591         * resolve.c (resolve_compcall): Don't set 'value.function.name' here
2592         for TBPs, otherwise they will not be resolved properly.
2593         (resolve_function): Use 'value.function.esym' instead of
2594         'value.function.name' to check if we're dealing with a TBP.
2595         (check_class_members): Set correct type of passed object for all TBPs,
2596         not only generic ones, except if the type is abstract.
2597
2598 2010-03-04  Janus Weil  <janus@gcc.gnu.org>
2599
2600         PR fortran/43244
2601         * decl.c (gfc_match_final_decl): Make sure variable names starting with
2602         'final...' are not misinterpreted as FINAL statements.
2603
2604 2010-03-03  Paul Thomas  <pault@gcc.gnu.org>
2605
2606         PR fortran/43243
2607         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2608         allocatable ultimate components do not need temporaries, whilst
2609         ultimate pointer components do.
2610
2611 2010-03-03  Janus Weil  <janus@gcc.gnu.org>
2612
2613         PR fortran/43169
2614         * resolve.c (resolve_code): Correctly set gfc_current_ns for
2615         EXEC_SELECT_TYPE.
2616         (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
2617         (gfc_pure): Ditto.
2618
2619 2010-03-02  Paul Thomas  <pault@gcc.gnu.org>
2620
2621         PR fortran/43180
2622         * trans-array.c (gfc_conv_array_parameter): A full array of
2623         derived type need not be restricted to a symbol without an
2624         array spec to use the call to gfc_conv_expr_descriptor.
2625
2626         PR fortran/43173
2627         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2628         allocatable arrays do not need temporaries.
2629
2630 2010-03-01  Tobias Burnus  <burnus@net-b.de>
2631
2632         PR fortran/43199
2633         * resolve.c (find_array_spec): Handle REF_COMPONENT with
2634         CLASS components.
2635
2636 2010-02-28  Tobias Burnus  <burnus@net-b.de>
2637
2638         PR fortran/43205
2639         * trans-expr.c (is_zero_initializer_p): Move up in the file.
2640         (gfc_conv_initializer): Handle zero initializer as special case.
2641
2642 2010-02-27  Tobias Burnus  <burnus@net-b.de>
2643
2644         PR fortran/43185
2645         * resolve.c (resolve_fl_variable_derived): Imply SAVE
2646         for module variables for Fortran 2008.
2647
2648 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
2649
2650         PR debug/43166
2651         * trans-common.c (build_common_decl): Also update DECL_MODE,
2652         and DECL_SIZE when encountering a larger common block and call
2653         layout_decl.
2654
2655 2010-02-24  Tobias Burnus  <burnus@net-b.de>
2656
2657         PR fortran/43042
2658         * trans-expr.c (gfc_conv_initializer): Call directly
2659         gfc_conv_constant for C_NULL_(FUN)PTR.
2660
2661 2010-02-22  Paul Thomas  <pault@gcc.gnu.org>
2662
2663         PR fortran/43072
2664         * dependency.c (gfc_full_array_ref_p): Check for contiguous by
2665         checking the rest of the dimensions for elements.
2666
2667 2010-02-21  Tobias Burnus  <burnus@net-b.de>
2668
2669         PR fortran/35259
2670         * gfortran.h (gfc_option_t): New flag -fprotect-parens.
2671         * lang.opt: Ditto.
2672         * option.c (gfc_init_options,gfc_handle_option): Ditto.
2673         * trans-expr.c (gfc_conv_expr_op): Use the flag.
2674         * invoke.texi: Document new -fno-protect-parens flag.
2675
2676 2010-02-20  Paul Thomas  <pault@gcc.gnu.org>
2677
2678         PR fortran/36932
2679         PR fortran/36933
2680         PR fortran/43072
2681         PR fortran/43111
2682         * dependency.c (gfc_check_argument_var_dependency): Use enum
2683         value instead of arithmetic vaue for 'elemental'.
2684         (check_data_pointer_types): New function.
2685         (gfc_check_dependency): Call check_data_pointer_types.
2686         * trans-array.h : Change fourth argument of
2687         gfc_conv_array_parameter to boolean.
2688         * trans-array.c (gfc_conv_array_parameter): A contiguous array
2689         can be a dummy but it must not be assumed shape or deferred.
2690         Change fourth argument to boolean. Array constructor exprs will
2691         always be contiguous and do not need packing and unpacking.
2692         * trans-expr.c (gfc_conv_procedure_call): Clean up some white
2693         space and change fourth argument of gfc_conv_array_parameter
2694         to boolean.
2695         (gfc_trans_arrayfunc_assign): Change fourth argument of
2696         gfc_conv_array_parameter to boolean.
2697         * trans-io.c (gfc_convert_array_to_string): The same.
2698         * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
2699
2700 2010-02-20  Tobias Burnus  <burnus@net-b.de>
2701
2702         PR fortran/42958
2703         * libgfortran.h: Add GFC_RTCHECK_MEM.
2704         * invoke.texi (-fcheck=): Document -fcheck=mem.
2705         * tranc.c (gfc_call_malloc): Remove negative-size run-time error
2706         and enable malloc-success check only with -fcheck=mem.
2707         * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
2708
2709 2010-02-16  Tobias Burnus  <burnus@net-b.de>
2710
2711         PR fortran/43040
2712         * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
2713         * intrinsic.c (add_functions): Ditto.
2714         * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
2715         * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
2716
2717 2010-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2718
2719         PR fortran/32382
2720         * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
2721         gfc_trans_do prototype.
2722         * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
2723         a loop exit condition.  If exit condition is given, build the loop exit
2724         code, checking IO results of implied do loops in READ and WRITE.
2725         (gfc_trans_do): Likewise.
2726         * trans.c (trans_code): New static work function, previously
2727         gfc_trans_code. Passes exit condition to gfc_trans_do.
2728         (gfc_trans_code): Calls trans_code with NULL_TREE condition.
2729         (gfc_trans_code_cond): Calls trans_code with loop exit condition.
2730         * trans-io.c (build_dt): Build an exit condition to allow checking IO
2731         result status bits in the dtparm structure. Use this condition in call
2732         to gfc_trans_code_cond.
2733
2734 2010-02-13  Paul Thomas  <pault@gcc.gnu.org>
2735
2736         PR fortran/41113
2737         PR fortran/41117
2738         * trans-array.c (gfc_conv_array_parameter): Use
2739         gfc_full_array_ref_p to detect full and contiguous variable
2740         arrays. Full array components and contiguous arrays do not need
2741         internal_pack and internal_unpack.
2742
2743 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2744
2745         PR fortran/43030
2746         * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
2747
2748         PR fortran/43029
2749         * decl.c (enumerator_decl): Don't call gfc_free_enum_history
2750         here.
2751         (gfc_match_enumerator_def): But here whenever enumerator_decl returns
2752         MATCH_ERROR.
2753
2754 2010-02-10  Joost VandeVondele <jv244@cam.ac.uk>
2755             Tobias Burnus <burnus@net-b.de>
2756
2757         PR fortran/40823
2758         * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
2759
2760 2010-02-10  Tobias Burnus  <burnus@net-b.de>
2761
2762         PR fortran/43015
2763         * trans-decl.c (gfc_generate_function_code): Only check
2764         actual-vs.-dummy character bounds if not bind(C).
2765
2766 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2767
2768         PR fortran/42309
2769         * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
2770         info->dimen after info has been freed.
2771
2772 2010-02-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2773
2774         PR fortran/42999
2775         * array.c (gfc_constant_ac): Do not prevent expansion of constructors
2776         with iterators.
2777
2778 2010-02-09  Jakub Jelinek  <jakub@redhat.com>
2779
2780         * module.c (fix_mio_expr): Declare sym.
2781
2782 2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
2783
2784         PR fortran/41869
2785         * module.c (fix_mio_expr): Fix for private generic procedures.
2786
2787 2010-02-09  Daniel Kraft  <d@domob.eu>
2788
2789         PR fortran/39171
2790         * resolve.c (resolve_charlen): Change warning about negative CHARACTER
2791         length to be correct and issue only with -Wsurprising.
2792         * invoke.texi (Wsurprising): Mention this new warning that is
2793         turned on by -Wsurprising.
2794
2795 2010-02-09  Daniel Kraft  <d@domob.eu>
2796
2797         PR fortran/41507
2798         * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
2799         can be CHARACTER type.
2800         (MINVAL), (MAXLOC), (MINLOC): Ditto.
2801
2802 2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
2803
2804         PR fortran/42309
2805         * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
2806         'formal_ptr'. If this is true, give returned descriptor unity
2807         lbounds, in all dimensions, and the appropriate offset.
2808         (gfc_conv_procedure_call); If formal is a pointer, set the last
2809         argument of gfc_conv_subref_array_arg to true.
2810         * trans.h : Add last argument for gfc_conv_subref_array_arg.
2811         * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
2812         new arg of gfc_conv_subref_array_arg to false.
2813         * trans-stmt.c (forall_make_variable_temp): The same.
2814
2815 2010-02-03  Tobias Burnus  <burnus@net-b.de>
2816
2817         PR fortran/42936
2818         * interface.c (compare_parameter): Disable rank-checking
2819         for NULL().
2820
2821 2010-02-02  Tobias Burnus  <burnus@net-b.de>
2822
2823         PR fortran/42650
2824         * parse.c (decode_specification_statement): Use sym->result not sym.
2825
2826 2010-02-01  Tobias Burnus  <burnus@net-b.de>
2827
2828         PR fortran/42922
2829         * decl.c (variable_decl): Allow default initializer in
2830         TYPE declarations in PURE functions.
2831
2832 2010-01-31  Janus Weil  <janus@gcc.gnu.org>
2833
2834         PR fortran/42888
2835         * resolve.c (resolve_allocate_expr): Move default initialization code
2836         here from gfc_trans_allocate.
2837         * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
2838         EXEC_INIT_ASSIGN.
2839         * trans-expr.c (gfc_trans_class_assign): Handle default initialization
2840         of CLASS variables via memcpy.
2841         * trans-stmt.c (gfc_trans_allocate): Move default initialization code
2842         to resolve_allocate_expr.
2843
2844 2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
2845
2846         PR fortran/38324
2847         * expr.c (gfc_get_full_arrayspec_from_expr): New function.
2848         * gfortran.h : Add prototype for above.
2849         * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
2850         (gfc_trans_subcomponent_assign): Call new function to replace
2851         the code to deal with allocatable components.
2852         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
2853         gfc_get_full_arrayspec_from_expr to replace existing code.
2854
2855 2010-01-25  Tobias Burnus  <burnus@net-b.de>
2856
2857         PR fortran/42858
2858         * array.c (gfc_array_dimen_size): Fix intrinsic procedure
2859         check.
2860
2861 2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
2862
2863         PR fortran/41044
2864         PR fortran/41167
2865         * expr.c (remove_subobject_ref): If the constructor is NULL use
2866         the expression as the source.
2867         (simplify_const_ref): Change the type of expression if
2868         there are component references.  Allow for substring to be at
2869         the end of an arbitrarily long chain of references.  If an
2870         element is found that is not in an EXPR_ARRAY, assume that this
2871         is scalar initialization of array. Call remove_subobject_ref in
2872         this case with NULL second argument.
2873
2874 2010-01-24  Tobias Burnus  <burnus@net-b.de>
2875
2876         PR fortran/39304
2877         * array.c (gfc_array_dimen_size): Use correct specific
2878         function in the check.
2879
2880 2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
2881
2882         PR fortran/42736
2883         * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
2884         is required, turn any trailing array elements after a range
2885         into ranges so that offsets can be calculated.
2886
2887 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
2888
2889         * module.c (mio_f2k_derived): Use enumerator as initializer of
2890         enum variable.
2891
2892         PR bootstrap/42812
2893         * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
2894         bitfield of width 2.
2895
2896 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
2897
2898         PR fortran/42804
2899         * resolve.c (extract_compcall_passed_object): Set locus for
2900         passed-object argument.
2901         (extract_ppc_passed_object): Set locus and correctly remove PPC
2902         reference.
2903
2904 2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
2905
2906         PR fortran/42783
2907         * trans-decl.c (add_argument_checking): Do not use the backend
2908         decl directly to test for the presence of an optional dummy
2909         argument.  Use gfc_conv_expr_present, remembering to set the
2910         symbol referenced.
2911
2912         PR fortran/42772
2913         * trans-decl.c (gfc_generate_function_code): Small white space
2914         changes. If 'recurcheckvar' is NULL do not try to reset it.
2915
2916 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
2917
2918         PR fortran/42545
2919         * resolve.c (resolve_fl_derived): Set the accessibility of the parent
2920         component for extended types.
2921         * symbol.c (gfc_find_component): Remove a wrongly-worded error message
2922         and take care of parent component accessibility.
2923
2924 2010-01-17  Janus Weil  <janus@gcc.gnu.org>
2925
2926         PR fortran/42677
2927         * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
2928         * interface.c (check_interface1): Move a warning message here from
2929         resolve_fl_procedure.
2930         (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
2931         * module.c (read_module): Remove call to gfc_check_interfaces, since
2932         this comes too early here.
2933         * resolve.c (resolve_fl_procedure): Move warning message to
2934         check_interface1.
2935
2936 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2937
2938         PR fortran/42684
2939         * interface.c (check_interface1): Pass symbol name rather than NULL to
2940         gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
2941         trap MULL.
2942         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
2943         than NULL to gfc_compare_interfaces.
2944
2945 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
2946
2947         PR fortran/41478
2948         * trans-array.c (duplicate_allocatable):  Static version of
2949         gfc_duplicate_allocatable with provision to handle scalar
2950         components. New boolean argument to switch off call to malloc
2951         if true.
2952         (gfc_duplicate_allocatable): New function to call above with
2953         new argument false.
2954         (gfc_copy_allocatable_data): New function to call above with
2955         new argument true.
2956         (structure_alloc_comps): Do not apply indirect reference to
2957         scalar pointers. Add new section to copy allocatable components
2958         of arrays. Extend copying of allocatable components to include
2959         scalars.
2960         (gfc_copy_only_alloc_comp): New function to copy allocatable
2961         component derived types, without allocating the base structure.
2962         * trans-array.h : Add primitive for gfc_copy_allocatable_data.
2963         Add primitive for gfc_copy_only_alloc_comp.
2964         * trans-expr.c (gfc_conv_procedure_call): After calls to
2965         transformational functions with results that are derived types
2966         with allocatable components, copy the components in the result.
2967         (gfc_trans_arrayfunc_assign): Deallocate allocatable components
2968         of lhs derived types before allocation.
2969         
2970 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
2971
2972         PR fortran/42481
2973         * module.c (load_generic_interfaces): If a procedure that is
2974         use associated but not generic is given an interface that
2975         includes itself, then make it generic.
2976
2977 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
2978             Shujing Zhao  <pearly.zhao@oracle.com>
2979
2980         PR translation/42469
2981         * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
2982         finit-logical=, finit-real=, fmax-array-constructor=): Use tab
2983         character between option name and help text.
2984
2985 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2986
2987         PR fortran/20923
2988         PR fortran/32489
2989         * trans-array.c (gfc_conv_array_initializer): Change call to
2990         gfc_error_now to call to gfc_fatal_error.
2991         * array.c (count_elements): Whitespace. (extract_element): Whitespace.
2992         (is_constant_element): Changed name from constant_element.
2993         (gfc_constant_ac): Only use expand_construuctor for expression
2994         types of EXPR_ARRAY.  If expression type is EXPR_CONSTANT, no need to
2995         call gfc_is_constant_expr.
2996         * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
2997         message.
2998         * resolve.c (gfc_is_expandable_expr): New function that determiners if
2999         array expressions should have their constructors expanded.
3000         (gfc_resolve_expr): Use new function to determine whether or not to call
3001         gfc_expand_constructor.
3002
3003 2010-01-09  Tobias Burnus  <burnus@net-b.de>
3004
3005         PR fortran/41298
3006         * trans-expr.c (gfc_trans_structure_assign): Handle
3007         c_null_(fun)ptr.
3008         * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
3009         to the constructor for c_null_(fun)ptr.
3010         * resolve.c (resolve_structure_cons): Add special case
3011         for c_null_(fun)ptr.
3012
3013 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3014
3015         * gfortranspec.c (lang_specific_driver): Update copyright notice
3016         dates.
3017
3018 2010-01-08  Tobias Burnus  <burnus@net-b.de>
3019
3020         PR/fortran 25829
3021         * symbol.c (check_conflict, gfc_copy_attr): Add
3022         ASYNCHRONOUS support.
3023         (gfc_add_asynchronous): New function.
3024         * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
3025         (gfc_match_asynchronous): New function.
3026         * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
3027         * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
3028         (gfc_add_asynchronous): New Prototype.
3029         * module.c (ab_attribute, mio_symbol_attribute): Add
3030         ASYNCHRONOUS support.
3031         * resolve.c (was_declared): Ditto.
3032         * match.h (gfc_match_asynchronous): New prototype.
3033         * parse.c (decode_specification_statement,decode_statement):
3034         Add ASYNCHRONOUS support.
3035
3036 2010-01-07  Tobias Burnus  <burnus@net-b.de>
3037
3038         PR fortran/42597
3039         * trans-decl.c (get_proc_pointer_decl): Fix call to
3040         gfc_conv_initializer for array-valued proc-pointer funcs.
3041
3042 2010-01-07  Tobias Burnus  <burnus@net-b.de>
3043
3044         PR fortran/41872
3045         * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
3046         allocatable scalars with SAVE attribute.
3047
3048 2010-01-05  Tobias Burnus  <burnus@net-b.de>
3049
3050         PR fortran/42517
3051         * options.c (gfc_post_options): Set -frecursion
3052         when -fopenmp is used.
3053
3054 2010-01-05  Tobias Burnus  <burnus@net-b.de>
3055
3056         PR fortran/41872
3057         * trans-expr.c (gfc_conv_procedure_call): Nullify
3058         return value for allocatable-scalar character functions.
3059
3060 2010-01-04  Tobias Burnus  <burnus@net-b.de>
3061
3062         PR fortran/36161
3063         * error.c (error_printf, gfc_warning, gfc_notify_std,
3064         gfc_warning_now, gfc_error, gfc_error_now,
3065         gfc_fatal_error): Change argument name from nocmsgid to
3066         gmsgid to enable (x)gettext's % checking.
3067
3068 2010-01-04  Tobias Burnus  <burnus@net-b.de>
3069         
3070         * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
3071
3072 2010-01-04  Tobias Burnus  <burnus@net-b.de>
3073
3074         PR fortran/41872
3075         * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
3076         for functions returning allocatable scalars.
3077         * trans-stmt.c (gfc_trans_allocate): Emmit error when
3078         reallocating an allocatable scalar.
3079         * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
3080         in comment.
3081         * trans-decl.c (gfc_trans_deferred_vars): Nullify local
3082         allocatable scalars.
3083         (gfc_generate_function_code): Nullify result variable for
3084         allocatable scalars.
3085         
3086         PR fortran/40849
3087         * module.c (gfc_use_module): Fix warning string to allow
3088         for translation.
3089
3090         PR fortran/42517
3091         * invoke.texi (-fcheck=recursion): Mention that the checking
3092         is also disabled for -frecursive.
3093         * trans-decl.c (gfc_generate_function_code): Disable
3094         -fcheck=recursion when -frecursive is used.
3095
3096         * intrinsic.texi (iso_c_binding): Improve wording.
3097
3098 \f
3099 Copyright (C) 2010 Free Software Foundation, Inc.
3100
3101 Copying and distribution of this file, with or without modification,
3102 are permitted in any medium without royalty provided the copyright
3103 notice and this notice are preserved.