OSDN Git Service

c766d40a568a337d5d8c18ecd739223902e19155
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2010-05-14  Jakub Jelinek  <jakub@redhat.com>
2
3         * trans.c (trans_code): Set backend locus early.
4         * trans-decl.c (gfc_get_fake_result_decl): Use source location
5         of the function instead of current input_location.
6
7 2010-05-13  Daniel Franke  <franke.daniel@gmail.com>
8
9         PR fortran/35779
10         * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
11         Updated all usages.
12         * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
13         * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
14         iterators.
15
16 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
17
18         PR fortran/44036
19         * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
20         variable lists.
21         * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
22         by reference dummy procedures or non-dummy procedure pointers.
23         (gfc_omp_predetermined_sharing): Return
24         OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
25
26 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
27
28         PR fortran/43711
29         * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
30         after OMP statement.
31         (gfc_match_omp_critical): Likewise.
32         (gfc_match_omp_flush): Likewise.
33         (gfc_match_omp_workshare): Likewise.
34         (gfc_match_omp_master): Likewise.
35         (gfc_match_omp_ordered): Likewise.
36         (gfc_match_omp_atomic): Likewise.
37         (gfc_match_omp_barrier): Likewise.
38         (gfc_match_omp_end_nowait): Likewise.
39
40 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
41
42         PR fortran/31820
43         * resolve.c (validate_case_label_expr): Removed FIXME.
44         (resolve_select): Raise default warning on case labels out of range
45         of the case expression.
46
47 2010-05-10  Daniel Franke  <franke.daniel@gmail.com>
48
49         PR fortran/27866
50         PR fortran/35003
51         PR fortran/42809
52         * intrinsic.c (gfc_convert_type_warn): Be more discriminative
53         about conversion warnings.
54
55 2010-05-10  Janus Weil  <janus@gcc.gnu.org>
56
57         PR fortran/44044
58         * match.c (gfc_match_select_type): Move error message to
59         resolve_select_type.
60         * resolve.c (resolve_select_type): Error message moved here from
61         gfc_match_select_type. Correctly set type of temporary.
62
63 2010-05-10  Richard Guenther  <rguenther@suse.de>
64
65         * trans-decl.c (gfc_build_library_function_decl): Split out
66         worker to ...
67         (build_library_function_decl_1): ... this new function.
68         Set a fnspec attribute if a specification was provided.
69         (gfc_build_library_function_decl_with_spec): New function.
70         (gfc_build_intrinsic_function_decls): Annotate internal_pack
71         and internal_unpack.
72
73 2010-05-07  Daniel Franke  <franke.daniel@gmail.com>
74
75         PR fortran/40728
76         * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
77         as external
78
79 2010-05-07  Jason Merrill  <jason@redhat.com>
80
81         * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
82         to avoid -Wc++-compat warning.
83
84 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
85
86         PR 40989
87         * options.c (gfc_handle_option): Add argument kind.
88         * gfortran.h (gfc_handle_option): Update declaration.
89
90 2010-05-06  Tobias Burnus  <burnus@net-b.de>
91
92         PR fortran/43985
93         * trans-types.c (gfc_sym_type): Mark Cray pointees as
94         GFC_POINTER_TYPE_P.
95
96 2010-05-05  Daniel Franke  <franke.daniel@gmail.com>
97
98         PR fortran/32331
99         * resolve.c (traverse_data_list): Rephrase error message for
100         non-constant bounds in data-implied-do.
101
102 2010-05-05  Daniel Franke  <franke.daniel@gmail.com>
103
104         PR fortran/24978
105         * gfortran.h: Removed repeat count from constructor, removed
106         all usages.
107         * data.h (gfc_assign_data_value_range): Changed return value from
108         void to gfc_try.
109         * data.c (gfc_assign_data_value): Add location to constructor element.
110         (gfc_assign_data_value_range): Call gfc_assign_data_value()
111         for each element in range. Return early if an error was generated.
112         * resolve.c (check_data_variable): Stop early if range assignment
113         generated an error.
114
115 2010-05-05  Janus Weil  <janus@gcc.gnu.org>
116
117         PR fortran/43696
118         * resolve.c (resolve_fl_derived): Some fixes for class variables.
119         * symbol.c (gfc_build_class_symbol): Add separate class container for
120         class pointers.
121
122 2010-05-03  Steven G. Kargl  <kargl@gcc.gnu.org>
123
124         PR fortran/43592
125         * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
126
127 2010-05-02  Tobias Burnus  <burnus@net-b.de>
128
129         PR fortran/18918
130         * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
131         for lcobound, ucobound, image_index and this_image.
132         * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
133         gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
134         * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
135         gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
136         functions.
137         (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
138
139 2010-04-30  Tobias Burnus  <burnus@net-b.de>
140
141         PR fortran/18918
142         PR fortran/43931
143         *  trans-types.c (gfc_get_array_descriptor_base): Fix index
144         calculation for array descriptor types.
145
146 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
147
148         PR fortran/43896
149         * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
150         initializers for PPC members of the vtabs.
151
152 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
153
154         PR fortran/42274
155         * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
156         attribute for all PPC members of the vtypes.
157         (copy_vtab_proc_comps): Copy the correct interface.
158         * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
159         * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
160         a dummy argument and make sure all PPC members of the vtab are
161         initialized correctly.
162         (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
163         in call to gfc_trans_assign_vtab_procs.
164         * trans-stmt.c (gfc_trans_allocate): Ditto.
165
166 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
167
168         PR fortran/43326
169         * resolve.c (resolve_typebound_function): Renamed
170         resolve_class_compcall.Do all the detection of class references
171         here.
172         (resolve_typebound_subroutine): resolve_class_typebound_call
173         renamed. Otherwise same as resolve_typebound_function.
174         (gfc_resolve_expr): Call resolve_typebound_function.
175         (resolve_code): Call resolve_typebound_subroutine.
176
177 2010-04-29  Janus Weil  <janus@gcc.gnu.org>
178
179         PR fortran/43492
180         * resolve.c (resolve_typebound_generic_call): For CLASS methods
181         pass back the specific symtree name, rather than the target
182         name.
183
184 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
185
186         PR fortran/42353
187         * resolve.c (resolve_structure_cons): Make the initializer of
188         the vtab component 'extends' the same type as the component.
189
190 2010-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
191
192         PR fortran/42680
193         * interface.c (check_interface1): Pass symbol name rather than NULL to
194         gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
195         trap MULL. (gfc_compare_derived_types): Revert previous change
196         incorporated incorrectly during merge from trunk, r155778.
197         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
198         than NULL to gfc_compare_interfaces.
199         * symbol.c (add_generic_specifics): Likewise.
200
201 2010-02-29  Janus Weil  <janus@gcc.gnu.org>
202
203         PR fortran/42353
204         * interface.c (gfc_compare_derived_types): Add condition for vtype.
205         * symbol.c (gfc_find_derived_vtab): Sey access to private.
206         (gfc_find_derived_vtab): Likewise.
207         * module.c (ab_attribute): Add enumerator AB_VTAB.
208         (mio_symbol_attribute): Use new attribute, AB_VTAB.
209         (check_for_ambiguous): Likewise.
210
211 2010-04-29  Paul Thomas  <pault@gcc.gnu.org>
212             Janus Weil  <janus@gcc.gnu.org>
213
214         PR fortran/41829
215         * trans-expr.c (select_class_proc): Remove function.
216         (conv_function_val): Delete reference to previous.
217         (gfc_conv_derived_to_class): Add second argument to the call to
218         gfc_find_derived_vtab.
219         (gfc_conv_structure): Exclude proc_pointer components when
220         accessing $data field of class objects.
221         (gfc_trans_assign_vtab_procs): New function.
222         (gfc_trans_class_assign): Add second argument to the call to
223         gfc_find_derived_vtab.
224         * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
225         implement holding off searching for the vptr derived type.
226         (add_proc_component): New function.
227         (add_proc_comps): New function.
228         (add_procs_to_declared_vtab1): New function.
229         (copy_vtab_proc_comps): New function.
230         (add_procs_to_declared_vtab): New function.
231         (void add_generic_specifics): New function.
232         (add_generics_to_declared_vtab): New function.
233         (gfc_find_derived_vtab): Add second argument to the call to
234         gfc_find_derived_vtab. Add the calls to
235         add_procs_to_declared_vtab and add_generics_to_declared_vtab.
236         * decl.c (build_sym, build_struct): Use new arg in calls to
237         gfc_build_class_symbol.
238         * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
239         definition of struct gfc_class_esym_list. Modify prototypes
240         of gfc_build_class_symbol and gfc_find_derived_vtab.
241         * trans-stmt.c (gfc_trans_allocate): Add second argument to the
242         call to gfc_find_derived_vtab.
243         * module.c : Add the vtype attribute.
244         * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
245         * resolve.c (resolve_typebound_generic_call): Add second arg
246         to pass along the generic name for class methods.
247         (resolve_typebound_call): The same.
248         (resolve_compcall): Use the second arg to carry the generic
249         name from the above. Remove the reference to class_esym.
250         (check_members, check_class_members, resolve_class_esym,
251         hash_value_expr): Remove functions.
252         (resolve_class_compcall, resolve_class_typebound_call): Modify
253         to use vtable rather than member by member calls.
254         (gfc_resolve_expr): Modify second arg in call to
255         resolve_compcall.
256         (resolve_select_type): Add second arg in call to
257         gfc_find_derived_vtab.
258         (resolve_code): Add second arg in call resolve_typebound_call.
259         (resolve_fl_derived): Exclude vtypes from check for late
260         procedure definitions. Likewise for checking of explicit
261         interface and checking of pass arg.
262         * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
263         calls to gfc_find_derived_vtab.
264         * match.c (select_type_set_tmp): Use new arg in call to
265         gfc_build_class_symbol.
266         * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
267         necessary.
268         * parse.c (endType): Finish incomplete classes.
269
270 2010-04-28  Tobias Burnus  <burnus@net-b.de>
271
272         PR fortran/18918
273         PR fortran/43919
274         * simplify.c (simplify_cobound): Handle scalar coarrays.
275
276 2010-04-27  Tobias Burnus  <burnus@net-b.de>
277
278         * gfc-internals.texi: Update copyright year.
279         * gfortran.texi: Ditto.
280         * invoke.texi: Ditto.
281
282 2010-04-27  Tobias Burnus  <burnus@net-b.de>
283
284         PR fortran/18918
285         * resolve.c (resolve_allocate_expr): Allow array coarrays.
286         * trans-types.h (gfc_get_array_type_bounds): Update prototype.
287         * trans-types.c (gfc_get_array_type_bounds,
288         gfc_get_array_descriptor_base): Add corank argument.
289         * trans-array.c (gfc_array_init_size): Handle corank.
290         (gfc_trans_create_temp_array, gfc_array_allocate,
291         gfc_conv_expr_descriptor): Add corank argument to call.
292         * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
293
294 2010-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>
295
296         PR fortran/30073
297         PR fortran/43793
298         * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
299         of mucking with a tree directly.
300
301 2010-04-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
302
303         PR fortran/43832
304         * io.c (gfc_match_open): Remove branch to syntax error. Add call to
305         gfc_error with new error message.
306
307 2010-04-24  Paul Thomas  <pault@gcc.gnu.org>
308
309         PR fortran/43841
310         PR fortran/43843
311         * trans-expr.c (gfc_conv_expr): Supply an address expression for
312         GFC_SS_REFERENCE.
313         (gfc_conv_expr_reference): Call gfc_conv_expr and return for
314         GFC_SS_REFERENCE.
315         * trans-array.c (gfc_add_loop_ss_code): Store the value rather
316         than the address of a GFC_SS_REFERENCE.
317         * trans.h : Change comment on GFC_SS_REFERENCE. 
318
319 2010-04-22  Richard Guenther  <rguenther@suse.de>
320
321         PR fortran/43829
322         * resolve.c (gfc_resolve_index): Wrap around ...
323         (gfc_resolve_index_1): ... this.  Add parameter to allow
324         any integer kind index type.
325         (resolve_array_ref): Allow any integer kind for the start
326         index of an array ref.
327
328 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
329
330         PR fortran/43836
331         * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
332         the decl.
333
334 2010-04-20  Harald Anlauf  <anlauf@gmx.de>
335
336         * intrinsic.c (sort_actual): Remove 'is' in error message.
337
338 2010-04-20  Paul Thomas  <pault@gcc.gnu.org>
339
340         PR fortran/43227
341         * resolve.c (resolve_fl_derived): If a component character
342         length has not been resolved, do so now.
343         (resolve_symbol): The same as above for a symbol character
344         length.
345         * trans-decl.c (gfc_create_module_variable): A 'length' decl is
346         not needed for a character valued, procedure pointer.
347
348         PR fortran/43266
349         * resolve.c (ensure_not_abstract_walker): If 'overriding' is
350         not found, return FAILURE rather than ICEing.
351
352 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
353
354         PR fortran/43339
355         * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
356         sequential loops private in the innermost containing task region.
357
358 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
359
360         * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
361         to build_common_tree_nodes.
362
363 2010-04-17  Steven G. Kargl  <kargl@gcc.gnu.org>
364
365         PR fortran/31538
366         * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
367         gfc_msg_bounds by using 'Array bound mismatch' directly.
368         (gfc_trans_dummy_array_bias):  Remove the use of gfc_msg_bounds.  Reword
369         error message to include the mismatch in the extent of array bound.
370         * fortran/trans.c: Remove gfc_msg_bounds.  It is only used in one place.
371         * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
372
373 2010-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
374
375         * gfortran.texi: Update information on temporary file locations.
376
377 2010-04-16  Jakub Jelinek  <jakub@redhat.com>
378
379         * trans-decl.c (gfc_build_qualified_array): Ensure
380         ubound.N and lbound.N artificial variable names don't appear
381         in debug info.
382
383 2010-04-15  Steven G. Kargl  <kargl@gcc.gnu.org>
384
385         PR fortran/30073
386         * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
387         block of code.  Set name to the variable associated with the descriptor.
388
389 2010-04-15  Jakub Jelinek  <jakub@redhat.com>
390
391         * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
392         on VAR_DECL LBOUND and/or UBOUND, even for -O1.
393
394 2010-04-14  Steven G. Kargl  <kargl@gcc.gnu.org>
395
396         * intrinsic.texi: Add the missing specific name of intrinsic
397         procedure where the specific name is identical to the generic name.
398         Fix inconsistent or mismatch in the argument names in intrinsic
399         procedure descriptions.  Add the SCALAR allocatable description to
400         ALLOCATED.
401
402 2010-04-14  Tobias Burnus  <burnus@net-b.de>
403
404         PR fortran/18918
405         * array.c (gfc_find_array_ref): Handle codimensions.
406         (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
407         * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
408         gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
409         New functions.
410         * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
411         GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
412         GFC_ISYM_UCOBOUND.
413         * intrinsic.h (add_functions): Add this_image, image_index,
414         lcobound and ucobound intrinsics.
415         * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
416         gfc_check_image_index, gfc_check_this_image,
417         gfc_simplify_image_index, gfc_simplify_lcobound,
418         gfc_simplify_this_image, gfc_simplify_ucobound):
419         New function prototypes.
420         * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
421         IMAGE_INDEX): Document new intrinsic functions.
422         * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
423         error fatal.
424         * simplify.c (simplify_bound_dim): Handle coarrays.
425         (simplify_bound): Update simplify_bound_dim call.
426         (gfc_simplify_num_images): Add -fcoarray=none check.
427         (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
428         gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
429
430 2010-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
431
432         PR fortran/43747
433         * constructor.c: Fix typo in comment.
434         * expr.c (find_array_section): Add check for max array limit.
435
436 2010-04-13  Iain Sandoe  <iains@gcc.gnu.org>
437
438         PR bootstrap/31400
439         * gfortranspec.c (lookup_option): Check for -static and return
440         OPTION_static.
441         (lang_specific_driver): Break when OPTION_static is discovered.
442
443 2010-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
444
445         * array.c (extract_element): Restore function from trunk.
446         (gfc_get_array_element): Restore function from trunk.
447         (gfc_expand_constructor): Restore check against
448         flag_max_array_constructor.
449         * constructor.c (node_copy_and_append): Delete unused.
450         * gfortran.h: Delete comment and extra include.
451         * constructor.h: Bump copyright and clean up TODO comments.
452         * resolve.c: Whitespace.
453
454 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
455
456         * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
457         with direct access access to elements. Adjusted prototype, fixed all
458         callers.
459         (gfc_simplify_dot_product): Removed duplicate check for zero-sized
460         array.
461         (gfc_simplify_matmul): Removed usage of ADVANCE macro.
462         (gfc_simplify_spread): Removed workaround, directly insert elements
463         at a given array position.
464         (gfc_simplify_transpose): Likewise.
465         (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
466         function calls.
467         (gfc_simplify_unpack): Likewise.
468
469 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
470
471         * simplify.c (only_convert_cmplx_boz): Renamed to ...
472         (convert_boz): ... this and moved to start of file.
473         (gfc_simplify_abs): Whitespace fix.
474         (gfc_simplify_acos): Whitespace fix.
475         (gfc_simplify_acosh): Whitespace fix.
476         (gfc_simplify_aint): Whitespace fix.
477         (gfc_simplify_dint): Whitespace fix.
478         (gfc_simplify_anint): Whitespace fix.
479         (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
480         (gfc_simplify_dnint): Whitespace fix.
481         (gfc_simplify_asin): Whitespace fix.
482         (gfc_simplify_asinh): Moved creation of result-expr out of switch.
483         (gfc_simplify_atan): Likewise.
484         (gfc_simplify_atanh): Whitespace fix.
485         (gfc_simplify_atan2): Whitespace fix.
486         (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
487         (gfc_simplify_bessel_j1): Likewise.
488         (gfc_simplify_bessel_jn): Likewise.
489         (gfc_simplify_bessel_y0): Likewise.
490         (gfc_simplify_bessel_y1): Likewise.
491         (gfc_simplify_bessel_yn): Likewise.
492         (gfc_simplify_ceiling): Reorderd statements.
493         (simplify_cmplx): Use convert_boz(), check for constant arguments.
494         Whitespace fix.
495         (gfc_simplify_cmplx): Use correct default kind. Removed check for
496         constant arguments.
497         (gfc_simplify_complex): Replaced if-gate. Removed check for
498         constant arguments.
499         (gfc_simplify_conjg): Whitespace fix.
500         (gfc_simplify_cos): Whitespace fix.
501         (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
502         (gfc_simplify_dcmplx): Removed check for constant arguments.
503         (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
504         (gfc_simplify_digits): Whitespace fix.
505         (gfc_simplify_dim): Whitespace fix.
506         (gfc_simplify_dprod): Reordered statements.
507         (gfc_simplify_erf): Whitespace fix.
508         (gfc_simplify_erfc): Whitespace fix.
509         (gfc_simplify_epsilon): Whitespace fix.
510         (gfc_simplify_exp): Whitespace fix.
511         (gfc_simplify_exponent): Use convert_boz().
512         (gfc_simplify_floor): Reorderd statements.
513         (gfc_simplify_gamma): Whitespace fix.
514         (gfc_simplify_huge): Whitespace fix.
515         (gfc_simplify_iand): Whitespace fix.
516         (gfc_simplify_ieor): Whitespace fix.
517         (simplify_intconv): Use gfc_convert_constant().
518         (gfc_simplify_int): Use simplify_intconv().
519         (gfc_simplify_int2): Reorderd statements.
520         (gfc_simplify_idint): Reorderd statements.
521         (gfc_simplify_ior): Whitespace fix.
522         (gfc_simplify_ishftc): Removed duplicate type check.
523         (gfc_simplify_len): Use range_check() instead of manual range check.
524         (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
525         (gfc_simplify_log): Whitespace fix.
526         (gfc_simplify_log10): Whitespace fix.
527         (gfc_simplify_minval): Whitespace fix.
528         (gfc_simplify_maxval): Whitespace fix.
529         (gfc_simplify_mod): Whitespace fix.
530         (gfc_simplify_modulo): Whitespace fix.
531         (simplify_nint): Reorderd statements.
532         (gfc_simplify_not): Whitespace fix.
533         (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
534         (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
535         (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
536         (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
537         (gfc_simplify_realpart): Whitespace fix.
538         (gfc_simplify_selected_char_kind): Removed unused result-variable.
539         (gfc_simplify_selected_int_kind): Removed unused result-variable.
540         (gfc_simplify_selected_real_kind): Removed unused result-variable.
541         (gfc_simplify_sign): Whitespace fix.
542         (gfc_simplify_sin): Whitespace fix.
543         (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
544         (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
545         (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
546         (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
547         (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
548
549 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
550
551         * gfortran.h (gfc_start_constructor): Removed.
552         (gfc_get_array_element): Removed.
553         * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr 
554         instead. Fixed all callers.
555         (extract_element): Removed.
556         (gfc_expand_constructor): Temporarily removed check for
557         max-array-constructor. Will be re-introduced later if still required.
558         (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
559         instead. Fixed all callers.
560         * expr.c (find_array_section): Replaced manual lookup of elements
561         by gfc_constructor_lookup.
562
563 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
564
565         * gfortran.h (gfc_get_null_expr): New prototype.
566         (gfc_get_operator_expr): New prototype.
567         (gfc_get_character_expr): New prototype.
568         (gfc_get_iokind_expr): New prototype.
569         * expr.c (gfc_get_null_expr): New.
570         (gfc_get_character_expr): New.
571         (gfc_get_iokind_expr): New.
572         (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
573         * matchexp.c (build_node): Renamed and moved to
574         expr.c (gfc_get_operator_expr). Reordered arguments to match 
575         other functions. Fixed all callers.
576         (gfc_get_parentheses): Use specific function to build expr.
577         * array.c (gfc_match_array_constructor): Likewise.
578         * arith.c (eval_intrinsic): Likewise.
579         (gfc_hollerith2int): Likewise.
580         (gfc_hollerith2real): Likewise.
581         (gfc_hollerith2complex): Likewise.
582         (gfc_hollerith2logical): Likewise.
583         * data.c (create_character_intializer): Likewise.
584         * decl.c (gfc_match_null): Likewise.
585         (enum_initializer): Likewise.
586         * io.c (gfc_match_format): Likewise.
587         (match_io): Likewise.
588         * match.c (gfc_match_nullify): Likewise.
589         * primary.c (match_string_constant): Likewise.
590         (match_logical_constant): Likewise.
591         (build_actual_constructor): Likewise.
592         * resolve.c (build_default_init_expr): Likewise.
593         * symbol.c (generate_isocbinding_symbol): Likewise.
594         (gfc_build_class_symbol): Likewise.
595         (gfc_find_derived_vtab): Likewise.
596         * simplify.c (simplify_achar_char): Likewise.
597         (gfc_simplify_adjustl): Likewise.
598         (gfc_simplify_adjustr): Likewise.
599         (gfc_simplify_and): Likewise.
600         (gfc_simplify_bit_size): Likewise.
601         (gfc_simplify_is_iostat_end): Likewise.
602         (gfc_simplify_is_iostat_eor): Likewise.
603         (gfc_simplify_isnan): Likewise.
604         (simplify_bound): Likewise.
605         (gfc_simplify_leadz): Likewise.
606         (gfc_simplify_len_trim): Likewise.
607         (gfc_simplify_logical): Likewise.
608         (gfc_simplify_maxexponent): Likewise.
609         (gfc_simplify_minexponent): Likewise.
610         (gfc_simplify_new_line): Likewise.
611         (gfc_simplify_null): Likewise.
612         (gfc_simplify_or): Likewise.
613         (gfc_simplify_precision): Likewise.
614         (gfc_simplify_repeat): Likewise.
615         (gfc_simplify_scan): Likewise.
616         (gfc_simplify_size): Likewise.
617         (gfc_simplify_trailz): Likewise.
618         (gfc_simplify_trim): Likewise.
619         (gfc_simplify_verify): Likewise.
620         (gfc_simplify_xor): Likewise.
621         * trans-io.c (build_dt): Likewise.
622         (gfc_new_nml_name_expr): Removed.
623
624 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
625
626         * arith.h (gfc_constant_result): Removed prototype.
627         * constructor.h (gfc_build_array_expr): Removed prototype.
628         (gfc_build_structure_constructor_expr): Removed prototype.
629         * gfortran.h (gfc_int_expr): Removed prototype.
630         (gfc_logical_expr): Removed prototype.
631         (gfc_get_array_expr): New prototype.
632         (gfc_get_structure_constructor_expr): New prototype.
633         (gfc_get_constant_expr): New prototype.
634         (gfc_get_int_expr): New prototype.
635         (gfc_get_logical_expr): New prototype.
636         * arith.c (gfc_constant_result): Moved and renamed to
637         expr.c (gfc_get_constant_expr). Fixed all callers.
638         * constructor.c (gfc_build_array_expr): Moved and renamed to
639         expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
640         and kind. Fixed all callers.
641         (gfc_build_structure_constructor_expr): Moved and renamed to
642         expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
643         to type and kind. Fixed all callers.
644         * expr.c (gfc_logical_expr): Renamed to ...
645         (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
646         (gfc_int_expr): Renamed to ...
647         (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
648         callers.
649         (gfc_get_constant_expr): New.
650         (gfc_get_array_expr): New.
651         (gfc_get_structure_constructor_expr): New.
652         * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
653         instead.
654
655 2010-04-12  Daniel Franke  <franke.daniel@gmail.com>
656
657         * constructor.h: New.
658         * constructor.c: New.
659         * Make-lang.in: Add new files to F95_PARSER_OBJS.
660         * arith.c (reducy_unary): Use constructor API.
661         (reduce_binary_ac): Likewise.
662         (reduce_binary_ca): Likewise.
663         (reduce_binary_aa): Likewise.
664         * check.c (gfc_check_pack): Likewise.
665         (gfc_check_reshape): Likewise.
666         (gfc_check_unpack): Likewise.
667         * decl.c (add_init_expr_to_sym): Likewise.
668         (build_struct): Likewise.
669         * dependency.c (gfc_check_dependency): Likewise.
670         (contains_forall_index_p): Likewise.
671         * dump-parse-tree.c (show_constructor): Likewise.
672         * expr.c (free_expr0): Likewise.
673         (gfc_copy_expr): Likewise.
674         (gfc_is_constant_expr): Likewise.
675         (simplify_constructor): Likewise.
676         (find_array_element): Likewise.
677         (find_component_ref): Likewise.
678         (find_array_section): Likewise.
679         (find_substring_ref): Likewise.
680         (simplify_const_ref): Likewise.
681         (scalarize_intrinsic_call): Likewise.
682         (check_alloc_comp_init): Likewise.
683         (gfc_default_initializer): Likewise.
684         (gfc_traverse_expr): Likewise.
685         * iresolve.c (check_charlen_present): Likewise.
686         (gfc_resolve_reshape): Likewise.
687         (gfc_resolve_transfer): Likewise.
688         * module.c (mio_constructor): Likewise.
689         * primary.c (build_actual_constructor): Likewise.
690         (gfc_match_structure_constructor): Likewise.
691         * resolve.c (resolve_structure_cons): Likewise.
692         * simplify.c (is_constant_array_expr): Likewise.
693         (init_result_expr): Likewise.
694         (transformational_result): Likewise.
695         (simplify_transformation_to_scalar): Likewise.
696         (simplify_transformation_to_array): Likewise.
697         (gfc_simplify_dot_product): Likewise.
698         (simplify_bound): Likewise.
699         (simplify_matmul): Likewise.
700         (simplify_minval_maxval): Likewise.
701         (gfc_simplify_pack): Likewise.
702         (gfc_simplify_reshape): Likewise.
703         (gfc_simplify_shape): Likewise.
704         (gfc_simplify_spread): Likewise.
705         (gfc_simplify_transpose): Likewise.
706         (gfc_simplify_unpack): Likewise.q
707         (gfc_convert_constant): Likewise.
708         (gfc_convert_char_constant): Likewise.
709         * target-memory.c (size_array): Likewise.
710         (encode_array): Likewise.
711         (encode_derived): Likewise.
712         (interpret_array): Likewise.
713         (gfc_interpret_derived): Likewise.
714         (expr_to_char): Likewise.
715         (gfc_merge_initializers): Likewise.
716         * trans-array.c (gfc_get_array_constructor_size): Likewise.
717         (gfc_trans_array_constructor_value): Likewise.
718         (get_array_ctor_strlen): Likewise.
719         (gfc_constant_array_constructor_p): Likewise.
720         (gfc_build_constant_array_constructor): Likewise.
721         (gfc_trans_array_constructor): Likewise.
722         (gfc_conv_array_initializer): Likewise.
723         * trans-decl.c (check_constant_initializer): Likewise.
724         * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
725         (gfc_apply_interface_mapping_to_cons): Likewise.
726         (gfc_trans_structure_assign): Likewise.
727         (gfc_conv_structure): Likewise.
728         * array.c (check_duplicate_iterator): Likewise.
729         (match_array_list): Likewise.
730         (match_array_cons_element): Likewise.
731         (gfc_match_array_constructor): Likewise.
732         (check_constructor_type): Likewise.
733         (check_constructor): Likewise.
734         (expand): Likewise.
735         (expand_constructor): Likewise.
736         (extract_element): Likewise.
737         (gfc_expanded_ac): Likewise.
738         (resolve_array_list): Likewise.
739         (gfc_resolve_character_array_constructor): Likewise.
740         (copy_iterator): Renamed to ...
741         (gfc_copy_iterator): ... this.
742         (gfc_append_constructor): Removed.
743         (gfc_insert_constructor): Removed unused function.
744         (gfc_get_constructor): Removed.
745         (gfc_free_constructor): Removed.
746         (qgfc_copy_constructor): Removed.
747         * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
748         Removed all references. Replaced constructor list by splay-tree.
749         (struct gfc_constructor): Removed member 'next', moved 'offset' from
750         the inner struct, added member 'base'.
751         (gfc_append_constructor): Removed prototype.
752         (gfc_insert_constructor): Removed prototype.
753         (gfc_get_constructor): Removed prototype.
754         (gfc_free_constructor): Removed prototype.
755         (qgfc_copy_constructor): Removed prototype.
756         (gfc_copy_iterator): New prototype.
757         * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
758
759 2010-04-10  Tobias Burnus  <burnus@net-b.de>
760
761         PR fortran/43591
762         * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
763         proc-pointers and type-bound procedures.
764         (gfc_specification_expr): Check proc-pointers for pureness.
765
766 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
767
768         PR bootstrap/43684
769         * gfortranspec.c (lang_specific_driver): Do not expose vars 
770         only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
771         for such.
772
773 2010-04-09  Tobias Burnus  <burnus@net-b.de>
774
775         PR fortran/18918
776         * decl.c (variable_decl, match_attr_spec): Fix setting the array
777         spec.
778         * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
779         * data.c (gfc_assign_data_value): Ditto.
780         * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
781         (gfc_traverse_expr): Traverse also through codimension expressions.
782         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
783         gfc_has_ultimate_pointer): New functions.
784         * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
785         (gfc_array_ref): Add codimen.
786         (gfc_array_ref): Add in_allocate.
787         (gfc_is_coindexed, gfc_has_ultimate_allocatable,
788         gfc_has_ultimate_pointer): Add prototypes.
789         * interface.c (compare_parameter, compare_actual_formal,
790         check_intents): Add coarray constraints.
791         * match.c (gfc_match_iterator): Add coarray constraint.
792         * match.h (gfc_match_array_ref): Update interface.
793         * primary.c (gfc_match_varspec): Handle codimensions.
794         * resolve.c (coarray_alloc, inquiry_argument): New static variables.
795         (check_class_members): Return gfc_try instead for error recovery.
796         (resolve_typebound_function,resolve_typebound_subroutine,
797         check_members): Handle return value of check_class_members.
798         (resolve_structure_cons, resolve_actual_arglist, resolve_function,
799         check_dimension, compare_spec_to_ref, resolve_array_ref,
800         resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
801         resolve_allocate_expr, resolve_ordinary_assign): Add coarray
802         support.
803         * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
804         Skip over coarray refs.
805         (gfc_array_allocate) Add support for references containing coindexes.
806         * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
807         (gfc_map_intrinsic_function): Ignore codimensions.
808
809 2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>
810
811         PR fortran/28039
812         * io.c (check_format_string):  Added check for additional non 
813         blank characters after the format string was successfully 
814         parsed.
815         * io.c (check_format): Changed the error messages for positive
816         int required and period required to drop through the error logic
817         and report with gfc_error instead of gfc_error_now.  Corrected
818         format postion for hollerith strings.
819
820 2010-04-08  Tobias Burnus  <burnus@net-b.de>
821
822         * module.c (use_iso_fortran_env_module): Fix standard check.
823
824 2010-04-07  Jakub Jelinek  <jakub@redhat.com>
825
826         * parse.c (parse_derived, parse_enum): Avoid set but not used
827         warning.
828
829 2010-04-07  Janne Blomqvist  <jb@gcc.gnu.org>
830
831         PR fortran/40539
832         * gfortran.texi: Add section about representation of
833         LOGICAL variables.
834
835 2010-04-07  Simon Baldwin  <simonb@google.com>
836
837         * cpp.c (cb_cpp_error): Add warning reason argument, set a value
838         for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
839
840 2010-04-07  Richard Guenther  <rguenther@suse.de>
841
842         * options.c (gfc_init_options): Do not set.
843
844 2010-04-06  Tobias Burnus  <burnus@net-b.de>
845
846         PR fortran/18918
847         * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
848         * match.c (gfc_match_critical, sync_statement): Ditto.
849         * gfortran.h (gfc_fcoarray): New enum.
850         (gfc_option_t): Use it.
851         * lang.opt (fcoarray): Add new flag.
852         * invoke.texi (fcoarray): Document it.
853         * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
854         (gfc_handle_coarray_option): New function.
855
856 2010-04-06  Tobias Burnus  <burnus@net-b.de>
857
858         PR fortran/18918
859         * gfortran.h (gfc_array_spec): Add cotype.
860         * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
861         and defer error diagnostic.
862         * resolve.c (resolve_fl_derived): Add missing check.
863         (resolve_symbol): Add cotype/type check.
864         * parse.c (parse_derived): Fix setting of coarray_comp.
865
866 2010-04-06  Tobias Burnus  <burnus@net-b.de>
867
868         PR fortran/18918
869         * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
870         match_array_element_spec,gfc_copy_array_spec,
871         gfc_compare_array_spec): Include corank.
872         (match_array_element_spec,gfc_set_array_spec): Support codimension.
873         * decl.c (build_sym,build_struct,variable_decl,
874         match_attr_spec,attr_decl1,cray_pointer_decl,
875         gfc_match_volatile): Add codimension.
876         (gfc_match_codimension): New function.
877         * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
878         * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
879         (gfc_add_codimension): New function prototype.
880         * match.h (gfc_match_codimension): New function prototype.
881         (gfc_match_array_spec): Update prototype
882         * match.c (gfc_match_common): Update gfc_match_array_spec call.
883         * module.c (MOD_VERSION): Bump.
884         (mio_symbol_attribute): Support coarray attributes.
885         (mio_array_spec): Add corank support.
886         * parse.c (decode_specification_statement,decode_statement,
887         parse_derived): Add coarray support.
888         * resolve.c (resolve_formal_arglist, was_declared,
889         is_non_constant_shape_array, resolve_fl_variable,
890         resolve_fl_derived, resolve_symbol): Add coarray support.
891         * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
892         gfc_build_class_symbol): Add coarray support.
893         (gfc_add_codimension): New function.
894
895 2010-04-06  Tobias Burnus  <burnus@net-b.de>
896
897         PR fortran/18918
898         * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
899         atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
900         stat_locked_other_image, stat_stopped_image and stat_unlocked of
901         Fortran 2008.
902         * intrinsic.texi (iso_fortran_env): Ditto.
903         * libgfortran.h (libgfortran_stat_codes): New enum.
904         * module.c (use_iso_fortran_env_module): Honour -std= when loading
905         constants from the intrinsic module.
906
907 2010-04-06  Tobias Burnus  <burnus@net-b.de>
908
909         PR fortran/39997
910         * intrinsic.c (add_functions): Add num_images.
911         * decl.c (gfc_match_end): Handle END CRITICAL.
912         * intrinsic.h (gfc_simplify_num_images): Add prototype.
913         * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
914         and SYNC.
915         * gfortran.h (gfc_statement): Add enum items for those.
916         (gfc_exec_op) Ditto.
917         (gfc_isym_id): Add num_images.
918         * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
919         (gfc_trans_sync,gfc_trans_critical): New functions.
920         * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
921         gfc_trans_critical): Add/update prototypes.
922         * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
923         and SYNC statements.
924         * trans.h (gfor_fndecl_error_stop_string) Add variable.
925         * resolve.c (resolve_sync): Add function.
926         (gfc_resolve_blocks): Handle CRITICAL.
927         (resolve_code): Handle CRITICAL, ERROR STOP,
928         (resolve_branch): Add CRITICAL constraint check.
929         and SYNC statements.
930         * st.c (gfc_free_statement): Add new statements.
931         * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
932         (gfc_build_builtin_function_decls): Initialize it.
933         * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
934         (gfc_match_critical, gfc_match_error_stop, sync_statement,
935         gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
936         New functions.
937         (match_exit_cycle): Handle CRITICAL constraint.
938         (gfc_match_stopcode): Handle ERROR STOP.
939         * match.h (gfc_match_critical, gfc_match_error_stop,
940         gfc_match_sync_all, gfc_match_sync_images,
941         gfc_match_sync_memory): Add prototype.
942         * parse.c (decode_statement, gfc_ascii_statement,
943         parse_executable): Handle new statements.
944         (parse_critical_block): New function.
945         * parse.h (gfc_compile_state): Add COMP_CRITICAL.
946         * intrinsic.texi (num_images): Document new function.
947         * simplify.c (gfc_simplify_num_images): Add function.
948
949 2010-04-06  Tobias Burnus  <burnus@net-b.de>
950
951         PR fortran/43178
952         * trans-array.c (gfc_conv_expr_descriptor): Update
953         gfc_trans_scalar_assign call.
954         (has_default_initializer): New function.
955         (gfc_trans_deferred_array): Nullify less often.
956         * trans-expr.c (gfc_conv_subref_array_arg,
957         gfc_trans_subcomponent_assign): Update call to
958         gfc_trans_scalar_assign.
959         (gfc_trans_scalar_assign): Add parameter and pass it on.
960         (gfc_trans_assignment_1): Optionally, do not dealloc before
961         assignment.
962         * trans-openmp.c (gfc_trans_omp_array_reduction): Update
963         call to gfc_trans_scalar_assign.
964         * trans-decl.c (gfc_get_symbol_decl): Do not always apply
965         initializer to static variables.
966         (gfc_init_default_dt): Add dealloc parameter and pass it on.
967         * trans-stmt.c (forall_make_variable_temp,
968         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
969         gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
970         gfc_trans_allocate): Update gfc_trans_assignment call.
971         * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
972         gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
973         parameter to prototype.
974
975 2010-03-31  Paul Thomas  <pault@gcc.gnu.org>
976
977         * ioparm.def : Update copyright.
978         * lang.opt : ditto
979         * trans-array.c : ditto
980         * trans-array.h : ditto
981         * expr.c: ditto
982         * trans-types.c: ditto
983         * dependency.c : ditto
984         * gfortran.h : ditto
985         * options.c : ditto
986         * trans-io.c : ditto
987         * trans-intrinsic.c : ditto
988         * libgfortran.h : ditto
989         * invoke.texi : ditto
990         * intrinsic.texi : ditto
991         * trans.c : ditto
992         * trans.h : ditto
993         * intrinsic.c : ditto
994         * interface.c : ditto
995         * iresolve.c : ditto
996         * trans-stmt.c : ditto
997         * trans-stmt.h : ditto
998         * parse,c : ditto
999         * match.h : ditto
1000         * error.c : ditto
1001
1002 2010-03-20  Paul Thomas  <pault@gcc.gnu.org>
1003
1004         PR fortran/43450
1005         * trans-decl.c (gfc_create_module_variable): With -fwhole-file
1006         do not assert the context of derived types.
1007
1008 2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1009
1010         PR fortran/43409
1011         * ioparm.def: Change inquire size variable to type pointer to
1012         GFC_IO_INT type.
1013
1014 2010-03-18  Paul Thomas  <pault@gcc.gnu.org>
1015
1016         PR fortran/43039
1017         * trans-expr.c (conv_parent_component_references): Ensure that
1018         'dt' has a backend_decl.
1019
1020         PR fortran/43043
1021         * trans-expr.c (gfc_conv_structure): Ensure that the derived
1022         type has a backend_decl.
1023
1024         PR fortran/43044
1025         * resolve.c (resolve_global_procedure): Check that the 'cl'
1026         structure is not NULL.
1027
1028 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
1029
1030         * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
1031         redundant tab.
1032
1033 2010-03-17  Tobias Burnus  <burnus@net-b.de>
1034
1035         PR fortran/43331
1036         * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
1037         gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
1038         check.
1039         * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
1040         pointees as having explizit size.
1041         * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
1042         check.
1043         * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
1044         (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
1045         * resolve.c (resolve_symbol): Handle cp_was_assumed.
1046         * trans-decl.c (gfc_trans_deferred_vars): Ditto.
1047         (gfc_finish_var_decl): Don't mark Cray pointees as restricted
1048         pointers.
1049
1050 2010-03-14  Tobias Burnus  <burnus@net-b.de>
1051
1052         PR fortran/43362
1053         * resolve.c (resolve_structure_cons): Add missing PURE constraint.
1054         (resolve_ordinary_assign): Add check to avoid segfault.
1055
1056 2010-03-12  Paul Thomas  <pault@gcc.gnu.org>
1057
1058         PR fortran/43291
1059         PR fortran/43326
1060         * resolve.c (resolve_compcall): Add new boolean dummy argument
1061         'class_members'. Only resolve expression at end if false.
1062         Remove redundant, static variable 'class_object'.
1063         (check_class_members): Add extra argument to call of
1064         resolve_compcall.
1065         (resolve_typebound_function): Renamed resolve_class_compcall.
1066         Do all the detection of class references here. Correct calls to
1067         resolve_compcall for extra argument.
1068         (resolve_typebound_subroutine): resolve_class_typebound_call
1069         renamed. Otherwise same as resolve_typebound_function.
1070         (gfc_resolve_expr): Call resolve_typebound_function.
1071         (resolve_code): Call resolve_typebound_subroutine.
1072
1073 2010-03-10  Tobias Burnus  <burnus@net-b.de
1074
1075         PR fortran/43303
1076         * symbol.c (get_iso_c_sym): Set sym->result.
1077
1078 2010-03-08  Janus Weil  <janus@gcc.gnu.org>
1079
1080         PR fortran/43256
1081         * resolve.c (resolve_compcall): Don't set 'value.function.name' here
1082         for TBPs, otherwise they will not be resolved properly.
1083         (resolve_function): Use 'value.function.esym' instead of
1084         'value.function.name' to check if we're dealing with a TBP.
1085         (check_class_members): Set correct type of passed object for all TBPs,
1086         not only generic ones, except if the type is abstract.
1087
1088 2010-03-04  Janus Weil  <janus@gcc.gnu.org>
1089
1090         PR fortran/43244
1091         * decl.c (gfc_match_final_decl): Make sure variable names starting with
1092         'final...' are not misinterpreted as FINAL statements.
1093
1094 2010-03-03  Paul Thomas  <pault@gcc.gnu.org>
1095
1096         PR fortran/43243
1097         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1098         allocatable ultimate components do not need temporaries, whilst
1099         ultimate pointer components do.
1100
1101 2010-03-03  Janus Weil  <janus@gcc.gnu.org>
1102
1103         PR fortran/43169
1104         * resolve.c (resolve_code): Correctly set gfc_current_ns for
1105         EXEC_SELECT_TYPE.
1106         (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
1107         (gfc_pure): Ditto.
1108
1109 2010-03-02  Paul Thomas  <pault@gcc.gnu.org>
1110
1111         PR fortran/43180
1112         * trans-array.c (gfc_conv_array_parameter): A full array of
1113         derived type need not be restricted to a symbol without an
1114         array spec to use the call to gfc_conv_expr_descriptor.
1115
1116         PR fortran/43173
1117         * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1118         allocatable arrays do not need temporaries.
1119
1120 2010-03-01  Tobias Burnus  <burnus@net-b.de>
1121
1122         PR fortran/43199
1123         * resolve.c (find_array_spec): Handle REF_COMPONENT with
1124         CLASS components.
1125
1126 2010-02-28  Tobias Burnus  <burnus@net-b.de>
1127
1128         PR fortran/43205
1129         * trans-expr.c (is_zero_initializer_p): Move up in the file.
1130         (gfc_conv_initializer): Handle zero initializer as special case.
1131
1132 2010-02-27  Tobias Burnus  <burnus@net-b.de>
1133
1134         PR fortran/43185
1135         * resolve.c (resolve_fl_variable_derived): Imply SAVE
1136         for module variables for Fortran 2008.
1137
1138 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
1139
1140         PR debug/43166
1141         * trans-common.c (build_common_decl): Also update DECL_MODE,
1142         and DECL_SIZE when encountering a larger common block and call
1143         layout_decl.
1144
1145 2010-02-24  Tobias Burnus  <burnus@net-b.de>              
1146
1147         PR fortran/43042
1148         * trans-expr.c (gfc_conv_initializer): Call directly
1149         gfc_conv_constant for C_NULL_(FUN)PTR.              
1150
1151 2010-02-22  Paul Thomas  <pault@gcc.gnu.org>
1152
1153         PR fortran/43072
1154         * dependency.c (gfc_full_array_ref_p): Check for contiguous by
1155         checking the rest of the dimensions for elements.
1156
1157 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1158
1159         PR fortran/35259
1160         * gfortran.h (gfc_option_t): New flag -fprotect-parens.
1161         * lang.opt: Ditto.
1162         * option.c (gfc_init_options,gfc_handle_option): Ditto.
1163         * trans-expr.c (gfc_conv_expr_op): Use the flag.
1164         * invoke.texi: Document new -fno-protect-parens flag.
1165
1166 2010-02-20  Paul Thomas  <pault@gcc.gnu.org>
1167
1168         PR fortran/36932
1169         PR fortran/36933
1170         PR fortran/43072
1171         PR fortran/43111
1172         * dependency.c (gfc_check_argument_var_dependency): Use enum
1173         value instead of arithmetic vaue for 'elemental'.
1174         (check_data_pointer_types): New function.
1175         (gfc_check_dependency): Call check_data_pointer_types.
1176         * trans-array.h : Change fourth argument of
1177         gfc_conv_array_parameter to boolean.
1178         * trans-array.c (gfc_conv_array_parameter): A contiguous array
1179         can be a dummy but it must not be assumed shape or deferred.
1180         Change fourth argument to boolean. Array constructor exprs will
1181         always be contiguous and do not need packing and unpacking.
1182         * trans-expr.c (gfc_conv_procedure_call): Clean up some white
1183         space and change fourth argument of gfc_conv_array_parameter
1184         to boolean.
1185         (gfc_trans_arrayfunc_assign): Change fourth argument of
1186         gfc_conv_array_parameter to boolean.
1187         * trans-io.c (gfc_convert_array_to_string): The same.
1188         * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
1189
1190 2010-02-20  Tobias Burnus  <burnus@net-b.de>
1191
1192         PR fortran/42958
1193         * libgfortran.h: Add GFC_RTCHECK_MEM.
1194         * invoke.texi (-fcheck=): Document -fcheck=mem.
1195         * tranc.c (gfc_call_malloc): Remove negative-size run-time error
1196         and enable malloc-success check only with -fcheck=mem.
1197         * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
1198
1199 2010-02-16  Tobias Burnus  <burnus@net-b.de>
1200
1201         PR fortran/43040
1202         * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
1203         * intrinsic.c (add_functions): Ditto.
1204         * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
1205         * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
1206
1207 2010-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1208
1209         PR fortran/32382
1210         * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
1211         gfc_trans_do prototype.
1212         * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
1213         a loop exit condition.  If exit condition is given, build the loop exit
1214         code, checking IO results of implied do loops in READ and WRITE.
1215         (gfc_trans_do): Likewise.
1216         * trans.c (trans_code): New static work function, previously
1217         gfc_trans_code. Passes exit condition to gfc_trans_do.
1218         (gfc_trans_code): Calls trans_code with NULL_TREE condition.
1219         (gfc_trans_code_cond): Calls trans_code with loop exit condition.
1220         * trans-io.c (build_dt): Build an exit condition to allow checking IO
1221         result status bits in the dtparm structure. Use this condition in call
1222         to gfc_trans_code_cond.
1223
1224 2010-02-13  Paul Thomas  <pault@gcc.gnu.org>
1225
1226         PR fortran/41113
1227         PR fortran/41117
1228         * trans-array.c (gfc_conv_array_parameter): Use
1229         gfc_full_array_ref_p to detect full and contiguous variable
1230         arrays. Full array components and contiguous arrays do not need
1231         internal_pack and internal_unpack.
1232
1233 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
1234
1235         PR fortran/43030
1236         * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
1237
1238         PR fortran/43029
1239         * decl.c (enumerator_decl): Don't call gfc_free_enum_history
1240         here.
1241         (gfc_match_enumerator_def): But here whenever enumerator_decl returns
1242         MATCH_ERROR.
1243
1244 2010-02-10  Joost VandeVondele <jv244@cam.ac.uk>
1245             Tobias Burnus <burnus@net-b.de>
1246
1247         PR fortran/40823
1248         * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
1249
1250 2010-02-10  Tobias Burnus  <burnus@net-b.de>
1251
1252         PR fortran/43015
1253         * trans-decl.c (gfc_generate_function_code): Only check
1254         actual-vs.-dummy character bounds if not bind(C).
1255
1256 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
1257
1258         PR fortran/42309
1259         * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
1260         info->dimen after info has been freed.
1261
1262 2010-02-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1263
1264         PR fortran/42999
1265         * array.c (gfc_constant_ac): Do not prevent expansion of constructors
1266         with iterators.
1267
1268 2010-02-09  Jakub Jelinek  <jakub@redhat.com>
1269
1270         * module.c (fix_mio_expr): Declare sym.
1271
1272 2010-02-09  Paul Thomas  <pault@gcc.gnu.org>
1273
1274         PR fortran/41869
1275         * module.c (fix_mio_expr): Fix for private generic procedures.
1276
1277 2010-02-09  Daniel Kraft  <d@domob.eu>
1278
1279         PR fortran/39171
1280         * resolve.c (resolve_charlen): Change warning about negative CHARACTER
1281         length to be correct and issue only with -Wsurprising.
1282         * invoke.texi (Wsurprising): Mention this new warning that is
1283         turned on by -Wsurprising.
1284
1285 2010-02-09  Daniel Kraft  <d@domob.eu>
1286
1287         PR fortran/41507
1288         * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
1289         can be CHARACTER type.
1290         (MINVAL), (MAXLOC), (MINLOC): Ditto.
1291
1292 2010-02-05  Paul Thomas  <pault@gcc.gnu.org>
1293
1294         PR fortran/42309
1295         * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
1296         'formal_ptr'. If this is true, give returned descriptor unity
1297         lbounds, in all dimensions, and the appropriate offset.
1298         (gfc_conv_procedure_call); If formal is a pointer, set the last
1299         argument of gfc_conv_subref_array_arg to true.
1300         * trans.h : Add last argument for gfc_conv_subref_array_arg.
1301         * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
1302         new arg of gfc_conv_subref_array_arg to false.
1303         * trans-stmt.c (forall_make_variable_temp): The same.
1304
1305 2010-02-03  Tobias Burnus  <burnus@net-b.de>
1306
1307         PR fortran/42936
1308         * interface.c (compare_parameter): Disable rank-checking
1309         for NULL().
1310
1311 2010-02-02  Tobias Burnus  <burnus@net-b.de>
1312
1313         PR fortran/42650
1314         * parse.c (decode_specification_statement): Use sym->result not sym.
1315
1316 2010-02-01  Tobias Burnus  <burnus@net-b.de>
1317
1318         PR fortran/42922
1319         * decl.c (variable_decl): Allow default initializer in
1320         TYPE declarations in PURE functions.
1321
1322 2010-01-31  Janus Weil  <janus@gcc.gnu.org>
1323
1324         PR fortran/42888
1325         * resolve.c (resolve_allocate_expr): Move default initialization code
1326         here from gfc_trans_allocate.
1327         * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
1328         EXEC_INIT_ASSIGN.
1329         * trans-expr.c (gfc_trans_class_assign): Handle default initialization
1330         of CLASS variables via memcpy.
1331         * trans-stmt.c (gfc_trans_allocate): Move default initialization code
1332         to resolve_allocate_expr.
1333
1334 2010-01-31  Paul Thomas  <pault@gcc.gnu.org>
1335
1336         PR fortran/38324
1337         * expr.c (gfc_get_full_arrayspec_from_expr): New function.
1338         * gfortran.h : Add prototype for above.
1339         * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
1340         (gfc_trans_subcomponent_assign): Call new function to replace
1341         the code to deal with allocatable components.
1342         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
1343         gfc_get_full_arrayspec_from_expr to replace existing code.
1344
1345 2010-01-25  Tobias Burnus  <burnus@net-b.de>
1346
1347         PR fortran/42858
1348         * array.c (gfc_array_dimen_size): Fix intrinsic procedure
1349         check.
1350
1351 2010-01-24  Paul Thomas  <pault@gcc.gnu.org>
1352
1353         PR fortran/41044
1354         PR fortran/41167
1355         * expr.c (remove_subobject_ref): If the constructor is NULL use
1356         the expression as the source.
1357         (simplify_const_ref): Change the type of expression if
1358         there are component references.  Allow for substring to be at
1359         the end of an arbitrarily long chain of references.  If an
1360         element is found that is not in an EXPR_ARRAY, assume that this
1361         is scalar initialization of array. Call remove_subobject_ref in
1362         this case with NULL second argument.
1363
1364 2010-01-24  Tobias Burnus  <burnus@net-b.de>
1365
1366         PR fortran/39304
1367         * array.c (gfc_array_dimen_size): Use correct specific
1368         function in the check.
1369
1370 2010-01-21  Paul Thomas  <pault@gcc.gnu.org>
1371
1372         PR fortran/42736
1373         * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
1374         is required, turn any trailing array elements after a range
1375         into ranges so that offsets can be calculated.
1376
1377 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
1378
1379         * module.c (mio_f2k_derived): Use enumerator as initializer of
1380         enum variable.
1381
1382         PR bootstrap/42812
1383         * gfortran.h  (struct gfc_namespace) <resolved>: Change to signed
1384         bitfield of width 2.
1385
1386 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
1387
1388         PR fortran/42804
1389         * resolve.c (extract_compcall_passed_object): Set locus for
1390         passed-object argument.
1391         (extract_ppc_passed_object): Set locus and correctly remove PPC
1392         reference.
1393
1394 2010-01-19  Paul Thomas  <pault@gcc.gnu.org>
1395
1396         PR fortran/42783
1397         * trans-decl.c (add_argument_checking): Do not use the backend
1398         decl directly to test for the presence of an optional dummy
1399         argument.  Use gfc_conv_expr_present, remembering to set the
1400         symbol referenced.
1401
1402         PR fortran/42772
1403         * trans-decl.c (gfc_generate_function_code): Small white space
1404         changes. If 'recurcheckvar' is NULL do not try to reset it.
1405
1406 2010-01-19  Janus Weil  <janus@gcc.gnu.org>
1407
1408         PR fortran/42545
1409         * resolve.c (resolve_fl_derived): Set the accessibility of the parent
1410         component for extended types.
1411         * symbol.c (gfc_find_component): Remove a wrongly-worded error message
1412         and take care of parent component accessibility.
1413
1414 2010-01-17  Janus Weil  <janus@gcc.gnu.org>
1415
1416         PR fortran/42677
1417         * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
1418         * interface.c (check_interface1): Move a warning message here from
1419         resolve_fl_procedure.
1420         (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
1421         * module.c (read_module): Remove call to gfc_check_interfaces, since
1422         this comes too early here.
1423         * resolve.c (resolve_fl_procedure): Move warning message to
1424         check_interface1.
1425
1426 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1427
1428         PR fortran/42684
1429         * interface.c (check_interface1): Pass symbol name rather than NULL to
1430         gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
1431         trap MULL.
1432         * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1433         than NULL to gfc_compare_interfaces.
1434
1435 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
1436
1437         PR fortran/41478
1438         * trans-array.c (duplicate_allocatable):  Static version of
1439         gfc_duplicate_allocatable with provision to handle scalar
1440         components. New boolean argument to switch off call to malloc
1441         if true.
1442         (gfc_duplicate_allocatable): New function to call above with
1443         new argument false.
1444         (gfc_copy_allocatable_data): New function to call above with
1445         new argument true.
1446         (structure_alloc_comps): Do not apply indirect reference to
1447         scalar pointers. Add new section to copy allocatable components
1448         of arrays. Extend copying of allocatable components to include
1449         scalars.
1450         (gfc_copy_only_alloc_comp): New function to copy allocatable
1451         component derived types, without allocating the base structure.
1452         * trans-array.h : Add primitive for gfc_copy_allocatable_data.
1453         Add primitive for gfc_copy_only_alloc_comp.
1454         * trans-expr.c (gfc_conv_procedure_call): After calls to
1455         transformational functions with results that are derived types
1456         with allocatable components, copy the components in the result.
1457         (gfc_trans_arrayfunc_assign): Deallocate allocatable components
1458         of lhs derived types before allocation.
1459         
1460 2010-01-14  Paul Thomas  <pault@gcc.gnu.org>
1461
1462         PR fortran/42481
1463         * module.c (load_generic_interfaces): If a procedure that is
1464         use associated but not generic is given an interface that
1465         includes itself, then make it generic.
1466
1467 2010-01-11  Joseph Myers  <joseph@codesourcery.com>  
1468             Shujing Zhao  <pearly.zhao@oracle.com>
1469
1470         PR translation/42469
1471         * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
1472         finit-logical=, finit-real=, fmax-array-constructor=): Use tab
1473         character between option name and help text.
1474
1475 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1476
1477         PR fortran/20923
1478         PR fortran/32489
1479         * trans-array.c (gfc_conv_array_initializer): Change call to
1480         gfc_error_now to call to gfc_fatal_error.
1481         * array.c (count_elements): Whitespace. (extract_element): Whitespace.
1482         (is_constant_element): Changed name from constant_element.
1483         (gfc_constant_ac): Only use expand_construuctor for expression
1484         types of EXPR_ARRAY.  If expression type is EXPR_CONSTANT, no need to
1485         call gfc_is_constant_expr.
1486         * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
1487         message.
1488         * resolve.c (gfc_is_expandable_expr): New function that determiners if
1489         array expressions should have their constructors expanded.
1490         (gfc_resolve_expr): Use new function to determine whether or not to call
1491         gfc_expand_constructor.
1492
1493 2010-01-09  Tobias Burnus  <burnus@net-b.de>
1494
1495         PR fortran/41298
1496         * trans-expr.c (gfc_trans_structure_assign): Handle
1497         c_null_(fun)ptr.
1498         * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
1499         to the constructor for c_null_(fun)ptr.
1500         * resolve.c (resolve_structure_cons): Add special case
1501         for c_null_(fun)ptr.
1502
1503 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1504
1505         * gfortranspec.c (lang_specific_driver): Update copyright notice
1506         dates.
1507
1508 2010-01-08  Tobias Burnus  <burnus@net-b.de>
1509
1510         PR/fortran 25829
1511         * symbol.c (check_conflict, gfc_copy_attr): Add
1512         ASYNCHRONOUS support.
1513         (gfc_add_asynchronous): New function.
1514         * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
1515         (gfc_match_asynchronous): New function.
1516         * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
1517         * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
1518         (gfc_add_asynchronous): New Prototype.
1519         * module.c (ab_attribute, mio_symbol_attribute): Add
1520         ASYNCHRONOUS support.
1521         * resolve.c (was_declared): Ditto.
1522         * match.h (gfc_match_asynchronous): New prototype.
1523         * parse.c (decode_specification_statement,decode_statement):
1524         Add ASYNCHRONOUS support.
1525
1526 2010-01-07  Tobias Burnus  <burnus@net-b.de>
1527
1528         PR fortran/42597
1529         * trans-decl.c (get_proc_pointer_decl): Fix call to
1530         gfc_conv_initializer for array-valued proc-pointer funcs.
1531
1532 2010-01-07  Tobias Burnus  <burnus@net-b.de>
1533
1534         PR fortran/41872
1535         * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
1536         allocatable scalars with SAVE attribute.
1537
1538 2010-01-05  Tobias Burnus  <burnus@net-b.de>
1539
1540         PR fortran/42517
1541         * options.c (gfc_post_options): Set -frecursion
1542         when -fopenmp is used.
1543
1544 2010-01-05  Tobias Burnus  <burnus@net-b.de>
1545
1546         PR fortran/41872
1547         * trans-expr.c (gfc_conv_procedure_call): Nullify
1548         return value for allocatable-scalar character functions.
1549
1550 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1551
1552         PR fortran/36161
1553         * error.c (error_printf, gfc_warning, gfc_notify_std,
1554         gfc_warning_now, gfc_error, gfc_error_now,
1555         gfc_fatal_error): Change argument name from nocmsgid to
1556         gmsgid to enable (x)gettext's % checking.
1557
1558 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1559         
1560         * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
1561
1562 2010-01-04  Tobias Burnus  <burnus@net-b.de>
1563
1564         PR fortran/41872
1565         * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
1566         for functions returning allocatable scalars.
1567         * trans-stmt.c (gfc_trans_allocate): Emmit error when
1568         reallocating an allocatable scalar.
1569         * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
1570         in comment.
1571         * trans-decl.c (gfc_trans_deferred_vars): Nullify local
1572         allocatable scalars.
1573         (gfc_generate_function_code): Nullify result variable for
1574         allocatable scalars.
1575         
1576         PR fortran/40849
1577         * module.c (gfc_use_module): Fix warning string to allow
1578         for translation.
1579
1580         PR fortran/42517
1581         * invoke.texi (-fcheck=recursion): Mention that the checking
1582         is also disabled for -frecursive.
1583         * trans-decl.c (gfc_generate_function_code): Disable
1584         -fcheck=recursion when -frecursive is used.
1585
1586         * intrinsic.texi (iso_c_binding): Improve wording.
1587
1588 \f
1589 Copyright (C) 2010 Free Software Foundation, Inc.
1590
1591 Copying and distribution of this file, with or without modification,
1592 are permitted in any medium without royalty provided the copyright
1593 notice and this notice are preserved.