OSDN Git Service

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