OSDN Git Service

* trans-array.c (gfc_get_proc_ifc_for_expr): New function.
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2012-02-12  Mikael Morin  <mikael@gcc.gnu.org>
2
3         * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
4         (gfc_walk_elemental_function_args): Move code to
5         gfc_get_proc_ifc_for_expr and call it.
6
7 2012-02-08  Tobias Burnus  <burnus@net-b.de>
8
9         PR fortran/52151
10         * trans-expr.c (fcncall_realloc_result): Set also the stride.
11
12 2012-02-07  Tobias Burnus  <burnus@net-b.de>
13
14         PR fortran/51514
15         * trans-expr.c (gfc_conv_procedure_call): Add _data component
16         for calls of scalar CLASS actuals to TYPE dummies.
17
18 2012-02-05  Thomas König  <tkoenig@gcc.gnu.org>
19
20         PR fortran/48847
21         * trans-decl.c:  Warn about unused dummy procedure arguments
22         if -Wunused-dummy-argument is specified.  Suppress middle-end
23         warnings about procedure arguments.
24
25 2012-02-05  Paul Thomas  <pault@gcc.gnu.org>
26
27         * trans-array.c (gfc_array_allocate): Zero memory for all class
28         array allocations.
29         * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
30
31         PR fortran/52102
32         * trans-stmt.c (gfc_trans_allocate): Before correcting a class
33         array reference, ensure that 'dataref' points to the _data
34         component that is followed by the array reference..
35
36 2012-02-02  Mikael Morin  <mikael@gcc.gnu.org>
37
38         PR fortran/41587
39         PR fortran/46356
40         PR fortran/51754
41         PR fortran/50981
42         * class.c (insert_component_ref, class_data_ref_missing,
43         gfc_fix_class_refs): New functions.
44         * gfortran.h (gfc_fix_class_refs): New prototype.
45         * trans-expr.c (gfc_conv_expr): Remove special case handling and call
46         gfc_fix_class_refs instead.
47
48 2012-02-02  Paul Thomas  <pault@gcc.gnu.org>
49
50         PR fortran/52012
51         * trans-expr.c (fcncall_realloc_result): If variable shape is
52         correct, retain the bounds, whatever they are.
53
54 2012-02-02  Tobias Burnus  <burnus@net-b.de>
55
56         PR fortran/52093
57         * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
58
59 2012-02-01  Thomas König  <tkoenig@gcc.gnu.org>
60
61         PR fortran/51958
62         * frontend-passes.c (convert_elseif):  New function.
63         (optimize_namespace):  Call it.
64
65 2012-02-01  Tobias Burnus  <burnus@net-b.de>
66
67         PR fortran/52024
68         * module.c (MOD_VERSION): Bump.
69         (mio_typebound_proc): Read/write is_operator from/to the
70         .mod file.
71
72 2012-02-01  Tobias Burnus  <burnus@net-b.de>
73
74         PR fortran/52059
75         * trans-expr.c (gfc_conv_procedure_call): Add array ref
76         only to variables.
77
78 2012-01-31  Tobias Burnus  <burnus@net-b.de>
79
80         PR fortran/52024
81         * gfortran.h (gfc_tbp_generic): Store whether the
82         generic is an operator.
83         * decl.c (gfc_match_generic): Set that flag.
84         * resolve.c (check_generic_tbp_ambiguity): Use it in the
85         gfc_compare_interfaces check.
86
87 2012-01-31  Tobias Burnus  <burnus@net-b.de>
88
89         PR fortran/52029
90         * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
91
92 2012-01-31  Tobias Burnus  <burnus@net-b.de>
93
94         PR fortran/52013
95         * class.c (get_unique_hashed_string): Adapt trim length.
96         (gfc_build_class_symbol) Encode also corank in the container name.
97
98 2012-01-31  Paul Thomas  <pault@gcc.gnu.org>
99
100         PR fortran/52012
101         * trans-expr.c (fcncall_realloc_result): Correct calculation of
102         result offset.
103
104 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
105
106         * module.c (pointer_info): Make true_name and module pointers
107         rather than arrays, order pointers before other fields.
108         (free_pi_tree): free true_name and module as well.
109         (mio_read_string): Rename to read_string.
110         (mio_write_string): Remove.
111         (load_commons): Use read_string.
112         (read_module): Use read_string rather than mio_internal_string.
113         (write_blank_common): Call write_atom directly.
114         (write_symbol): Likewise.
115
116 2012-01-29  Tobias Burnus  <burnus@net-b.de>
117
118         PR fortran/41600
119         * expr.c (gfc_default_initializer): Convert the values if
120         the type does not match.
121
122 2012-01-29  Tobias Burnus  <burnus@net-b.de>
123
124         PR fortran/51972
125         * trans-array.c (structure_alloc_comps): Fix assignment of
126         polymorphic components (polymorphic deep copying).
127
128 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
129
130         PR fortran/51808
131         * decl.c (set_binding_label): Make binding_label argument const.
132         (curr_binding_label): Constify.
133         * gfortran.h (gfc_symbol): Constify binding_label.
134         (gfc_common_head): Likewise.
135         (get_iso_c_sym): Likewise.
136         * match.c (gfc_match_name_C): Constify buffer argument.
137         * match.h (gfc_match_name_C): Likewise.
138         * resolve.c (set_name_and_label): Constify binding_label argument.
139         (gfc_iso_c_sub_interface): Constify binding_label variable.
140         * symbol.c (get_iso_c_sym): Constify binding_label argument.
141
142 2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>
143
144         PR fortran/51808
145         * decl.c (set_binding_label): Move prototype from match.h to here.
146         (curr_binding_label): Make a pointer rather than static array.
147         (build_sym): Check sym->binding_label pointer rather than array,
148         update set_binding_label call, handle curr_binding_label changes.
149         (set_binding_label): Handle new curr_binding_label, dest_label
150         double ptr, and sym->binding_label.
151         (verify_bind_c_sym): Handle sym->binding_label being a pointer.
152         (set_verify_bind_c_sym): Check sym->binding_label pointer rather
153         than array, update set_binding_label call.
154         (gfc_match_bind_c_stmt): Handle curr_binding_label change.
155         (match_procedure_decl): Update set_binding_label call.
156         (gfc_match_bind_c): Change binding_label to pointer, update
157         gfc_match_name_C call.
158         * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
159         (gfc_symbol): Make binding_label a pointer.
160         (gfc_common_head): Likewise.
161         * match.c (gfc_match_name_C): Heap allocate bind(C) name.
162         * match.h (gfc_match_name_C): Change prototype argument.
163         (set_binding_label): Move prototype to decl.c.
164         * module.c (struct pointer_info): Make binding_label a pointer.
165         (free_pi_tree): Free unused binding_label.
166         (mio_read_string): New function.
167         (mio_write_string): New function.
168         (load_commons): Redo reading of binding_label.
169         (read_module): Likewise.
170         (write_common_0): Change to write empty string instead of name if
171         no binding_label.
172         (write_blank_common): Write empty string for binding label.
173         (write_symbol): Change to write empty string instead of name if no
174         binding_label.
175         * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
176         (set_name_and_label): Make binding_label double pointer, use
177         asprintf.
178         (gfc_iso_c_sub_interface): Make binding_label a pointer.
179         (resolve_bind_c_comms): Handle cases if
180         gfc_common_head->binding_label is NULL.
181         (gfc_verify_binding_labels): sym->binding_label is a pointer.
182         * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
183         binding_label.
184         (gen_special_c_interop_ptr): Don't set binding label.
185         (generate_isocbinding_symbol): Insert binding_label into symbol
186         table.
187         (get_iso_c_sym): Use pointer assignment instead of strcpy.
188         * trans-common.c (gfc_sym_mangled_common_id): Handle
189         com->binding_label being a pointer.
190         * trans-decl.c (gfc_sym_mangled_identifier): Handle
191         sym->binding_label being a pointer.
192         (gfc_sym_mangled_function_id): Likewise.
193
194 2012-01-29  Tobias Burnus  <burnus@net-b.de>
195
196         PR fortran/52038
197         * resolve.c (symbol_as): Remove unused, accidentally
198         added function.
199
200 2012-01-28  Tobias Burnus  <burnus@net-b.de>
201
202         PR fortran/51972
203         * trans-stmt.c (gfc_trans_allocate): Properly check whether
204         we have a BT_CLASS which needs to be memset.
205
206 2012-01-27  Tobias Burnus  <burnus@net-b.de>
207
208         PR fortran/52022
209         * trans-expr.c (gfc_conv_procedure_call): Fix passing
210         of functions, which return allocatables.
211
212 2012-01-27  Tobias Burnus  <burnus@net-b.de>
213
214         PR fortran/52016
215         * resolve.c (resolve_formal_arglist): Fix elemental
216         constraint checks for polymorphic dummies also for
217         pointers.
218
219 2012-01-27  Tobias Burnus  <burnus@net-b.de>
220
221         PR fortran/51970
222         PR fortran/51977
223         * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
224         handle array spec for BT_CLASS.
225         * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
226         * frontend-passes.c (create_var): Ditto.
227         * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
228         * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
229         instead of attr.pointer.
230         (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
231         * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
232         * trans-stmt.c (trans_associate_var): Ask for the descriptor.
233
234 2012-01-27  Tobias Burnus  <burnus@net-b.de>
235
236         PR fortran/51953
237         * match.c (gfc_match_allocate): Allow more than allocate
238         object with SOURCE=.
239
240 2012-01-27  Tobias Burnus  <burnus@net-b.de>
241
242         PR fortran/52016
243         * resolve.c (resolve_formal_arglist): Fix elemental
244         constraint checks for polymorphic dummies.
245
246 2012-01-27  Paul Thomas  <pault@gcc.gnu.org>
247             Tobias Burnus <burnus@gcc.gnu.org>
248
249         PR fortran/48705
250         PR fortran/51870
251         PR fortran/51943
252         PR fortran/51946
253         * trans-array.c (gfc_array_init_size): Add two extra arguments
254         to convey the dynamic element size of a calls object and to
255         return the number of elements that have been allocated.
256         (gfc_array_allocate): Add the same arguments and use them to
257         call gfc_array_init_size.  Before the allocation dereference
258         the data pointer, if necessary. Set the allocated array to zero
259         if the class element size or expr3 are non-null.
260         * trans-expr.c (gfc_conv_class_to_class): Give this function
261         global scope.
262         (get_class_array_ref): New function.
263         (gfc_copy_class_to_class): New function.
264         * trans-array.h : Update prototype for gfc_array_allocate.
265         * trans-stmt.c (gfc_trans_allocate): For non-variable class
266         STATUS expressions extract the class object and the dynamic
267         element size. Use the latter to call gfc_array_allocate and
268         the former for setting the vptr and, via
269         gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
270         * trans.h : Prototypes for gfc_get_class_array_ref,
271         gfc_copy_class_to_class and gfc_conv_class_to_class.
272
273 2012-01-25  Tobias Burnus  <burnus@net-b.de>
274
275         * resolve.c (symbol_as): Check also for attr.class_ok.
276
277 2012-01-25  Tobias Burnus  <burnus@net-b.de>
278
279         PR fortran/51995
280         * class.c (gfc_build_class_symbol): Fix invalid freeing
281         issue with fclass->f2k_derived.
282
283 2012-01-25  Tobias Burnus  <burnus@net-b.de>
284
285         PR fortran/51995
286         * class.c (gfc_build_class_symbol): Ensure that
287         fclass->f2k_derived is set.
288
289 2012-01-25  Tobias Burnus  <burnus@net-b.de>
290
291         PR fortran/51966
292         * resolve.c (resolve_structure_cons): Only create an
293         array constructors for nonscalars.
294
295 2012-01-23  Tobias Burnus  <burnus@net-b.de>
296
297         PR fortran/51948
298         * check.c (variable_check): Fix checking for
299          variables and deeply nested BLOCKs.
300
301 2012-01-21  Tobias Burnus  <burnus@net-b.de>
302             Steven G. Kargl  <kargl@gcc.gnu.org>
303
304         PR fortran/50556
305         * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
306         attribute.
307
308 2012-01-21  Tobias Burnus  <burnus@net-b.de>
309
310         PR fortran/51913
311         * interface.c (compare_parameter): Fix CLASS comparison.
312
313 2012-01-20  Tobias Burnus  <burnus@net-b.de>
314             Janus Weil  <janus@gcc.gnu.org>
315
316         PR fortran/51056
317         * module.c (load_needed, read_module): Don't mark __vtab etc.
318         as use_only.
319
320 2012-01-19  Tobias Burnus  <burnus@net-b.de>
321
322         PR fortran/51904
323         * expr.c (gfc_build_intrinsic_call): Also set the symtree.
324
325 2012-01-18  Paul Thomas  <pault@gcc.gnu.org>
326
327         PR fortran/51634
328         * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
329         components of temporary class arguments.
330
331 2012-01-17  Tobias Burnus  <burnus@net-b.de>
332             Janne Blomqvist  <jb@gcc.gnu.org>
333
334         PR fortran/51869
335         * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
336         LHS after allocation, if it has allocatable components.
337         * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
338
339 2012-01-16  Mikael Morin  <mikael@gcc.gnu.org>
340             Tobias Burnus  <burnus@net-b.de>
341
342         PR fortran/50981
343         * trans-array.c (gfc_walk_elemental_function_args): Fix
344         passing of deallocated allocatables/pointers as absent argument. 
345
346 2012-01-16  Tobias Burnus  <burnus@net-b.de>
347
348         PR fortran/51809
349         * class.c (gfc_find_derived_vtab): Mark __vtab and
350         __def_init as FL_VARIABLE not as FL_PARAMETER.
351         * expr.c (gfc_simplify_expr): Remove special
352         handling of __vtab.
353         * resolve.c (resolve_values): Ditto.
354         * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
355         and __def_init as TREE_READONLY.
356
357 2012-01-16  Zydrunas Gimbutas  <gimbutas@cims.nyu.edu>
358         Andreas Kloeckner  <kloeckner@cims.nyu.edu>
359         Steven G. Kargl  <kargl@gcc.gnu.org>
360
361         PR fortran/48426
362         * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
363         * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
364         -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
365         and -finteger-4-integer-8. User-desired type conversion information.
366         * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
367         in declaration parsing.
368         * trans-types.c (gfc_init_kinds): User-specified type conversion
369         checked for current backend.
370         * primary.c (match_integer_constant,match_real_constant): Implement
371         type conversion in constant parsing.
372         * options.c (gfc_init_options,gfc_handle_option): Translate input
373         options to flags in internal options data structure.
374         * invoke.texi: Document new options.  Re-order options in Options
375         summary section.
376
377 2012-01-16  Paul Thomas  <pault@gcc.gnu.org>
378
379         * trans-array.c (gfc_trans_create_temp_array): In the case of a
380         class array temporary, detect a null 'eltype' on entry and use 
381         'initial' to provde the class reference and so, through the
382         vtable, the element size for the dynamic type.
383         * trans-stmt.c (gfc_conv_elemental_dependencies): For class
384         expressions, set 'eltype' to null and pass the values via the
385         'initial' expression.
386
387 2012-01-14  Tobias Burnus  <burnus@net-b.de>
388
389         PR fortran/51800
390         * resolve.c (build_default_init_expr): Also initialize
391         nonconstant-length strings with -finit-character=<n>.
392
393 2011-01-14  Tobias Burnus  <burnus@net-b.de>
394
395         PR fortran/51816
396         * module.c (read_module): Don't make nonexisting
397         intrinsic operators as found.
398         (rename_list_remove_duplicate): New function.
399         (gfc_use_modules): Use it.
400
401 2012-01-13  Paul Thomas  <pault@gcc.gnu.org>
402
403         PR fortran/48351
404         * trans-array.c (structure_alloc_comps): Suppress interative
405         call to self, when current component is deallocated using
406         gfc_trans_dealloc_allocated.
407         * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
408         attribute from the declared type to the class structure.
409
410 2012-01-13  Tobias Burnus  <burnus@net-b.de>
411
412         PR fortran/51842
413         * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
414         instead of a signed int of size POINTER_SIZE for
415         gfc_index_integer_kind.
416
417 2012-01-12  Tobias Burnus  <burnus@net-b.de>
418
419         PR fortran/36755
420         * intrinsic.texi (CHMOD): Extend a bit and remove statement
421         that /bin/chmod is called.
422
423 2012-01-10  Gerald Pfeifer  <gerald@pfeifer.com>
424
425         * gfortran.texi (Fortran 2003 Status): Fix grammar.
426
427 2012-01-10  Tobias Burnus  <burnus@net-b.de>
428
429         PR fortran/51652
430         * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
431         check whether type-spec matches declaration.
432
433 2012-01-10  Tobias Burnus  <burnus@net-b.de>
434
435         * resolve.c (resolve_ordinary_assign): Improve error wording.
436
437 2012-01-09  Paul Thomas  <pault@gcc.gnu.org>
438
439         PR fortran/51791
440         * interface.c (matching_typebound_op): Drill down through
441         possible parentheses to obtain base expression. Do not test for
442         'class_ok' but, instead for the class structure components.
443         * resolve.c (resolve_ordinary_assign): Extend error message for
444         polymorphic assignment to advise checking for specific
445         subroutine.
446
447         PR fortran/51792
448         * resolve.c (resolve_typebound_function): Restore 'static' to
449         declaration.
450
451 2012-01-09  Mikael Morin  <mikael@gcc.gnu.org>
452
453         PR fortran/51758
454         * trans-array.c (gfc_walk_elemental_function_args):
455         Skip over NULL() actual arguments.
456
457 2012-01-09  Tobias Burnus  <burnus@net-b.de>
458
459         * gfortran.texi: Bump copyright year.
460         (Fortran 2003 Status): Update polymorphism item, add
461         item for generic interface with DT name.
462
463 2012-01-09  Tobias Burnus  <burnus@net-b.de>
464
465         PR fortran/51578
466         * gfortran.h (gfc_use_list):
467         * match.h (gfc_use_module): Rename to ...
468         (gfc_use_modules): ... this.
469         * module.c (use_locus, specified_nonint, specified_int): Remove
470         global variable.
471         (module_name): Change type to const char*, used with gfc_get_string.
472         (module_list): New global variable.
473         (free_rename): Free argument not global var.
474         (gfc_match_use): Save match to module_list.
475         (load_generic_interfaces, read_module): Don't free symtree.
476         (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
477         type change of module_name.
478         (write_symbol0, write_generic): Optimize due to the type change.
479         (import_iso_c_binding_module, use_iso_fortran_env_module): Use
480         locus of rename->where.
481         (gfc_use_module): Take module_list as argument.
482         (gfc_use_modules): New function.
483         (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
484         * parse.c (last_was_use_stmt): New global variable.
485         (use_modules): New function.
486         (decode_specification_statement, decode_statement): Move USE match up
487         and call use_modules.
488         (next_free, next_fixed): Call use_modules.
489         (accept_statement): Don't call gfc_module_use.
490
491 2012-01-06  Tobias Burnus <burnus@net-b.de>
492
493         * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
494         Update call to gfc_trans_dealloc_allocated.
495         * trans.c (gfc_allocate_using_malloc): Fix spacing.
496         (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
497         label_finish when an error occurs.
498         (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
499         * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
500         Update prototype.
501         (gfor_fndecl_caf_deregister): New tree symbol.
502         * trans-expr.c (gfc_conv_procedure_call): Update
503         gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
504         * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
505         structure_alloc_comps, gfc_trans_deferred_array): Ditto.
506         (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
507         * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
508         gfc_trans_dealloc_allocated): Update prototypes.
509         * trans-stmt.c (gfc_trans_sync): Fix indentation.
510         (gfc_trans_allocate): Fix errmsg padding and label handling.
511         (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
512         * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
513         * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
514         to avoid other stats accidentally matching this one.
515         * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
516         (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
517         and add decl for caf_deregister.
518         (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
519         * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
520         gfc_deallocate_with_status.
521
522 2012-01-05  Paul Thomas  <pault@gcc.gnu.org>
523
524         PR fortran/PR48946
525         * resolve.c (resolve_typebound_static): If the typebound
526         procedure is 'deferred' try to find the correct specific
527         procedure in the derived type operator space itself.
528
529 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
530
531         PR fortran/50981
532         * trans-array.h (gfc_walk_elemental_function_args): New argument.
533         * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
534         * trans-stmt.c (gfc_trans_call): Ditto.
535         * trans-array.c (gfc_walk_function_expr): Ditto.
536         (gfc_walk_elemental_function_args): Get the dummy argument list
537         if possible.  Check that the dummy and the actual argument are both
538         optional, and set can_be_null_ref accordingly.
539
540 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
541
542         PR fortran/50981
543         * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
544         * trans-array.c: If the reference can be NULL, save the reference
545         instead of the value.
546         * trans-expr.c (gfc_conv_expr): If we have saved a reference,
547         dereference it.
548
549 2012-01-04  Mikael Morin  <mikael@gcc.gnu.org>
550
551         * trans-expr.c (gfc_conv_expr): Move address taking...
552         (gfc_conv_expr_reference): ... here.
553
554 2012-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
555
556         PR fortran/49693
557         * trans-common.c (create_common): Update copyright years.  Mark
558         variables as used to avoid warnings about unused variables in
559         common blocks.
560
561 2012-01-03  Hans-Peter Nilsson  <hp@axis.com>
562
563         * gfortran.h (struct gfc_expr): Add missing "struct"
564         qualifier for member base_expr.
565
566 2012-01-02  Paul Thomas  <pault@gcc.gnu.org>
567
568         PR fortran/51529
569         * trans-array.c (gfc_array_allocate): Null allocated memory of
570         newly allocted class arrays.
571
572         PR fortran/46262
573         PR fortran/46328
574         PR fortran/51052
575         * interface.c(build_compcall_for_operator): Add a type to the
576         expression.
577         * trans-expr.c (conv_base_obj_fcn_val): New function.
578         (gfc_conv_procedure_call): Use base_expr to detect non-variable
579         base objects and, ensuring that there is a temporary variable,
580         build up the typebound call using conv_base_obj_fcn_val.
581         (gfc_trans_class_assign): Pick out class procedure pointer
582         assignments and do the assignment with no further prcessing.
583         (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
584         gfc_trans_class_assign): Move to top of file.
585         * gfortran.h : Add 'base_expr' field to gfc_expr.
586         * resolve.c (get_declared_from_expr): Add 'types' argument to
587         switch checking of derived types on or off.
588         (resolve_typebound_generic_call): Set the new argument.
589         (resolve_typebound_function, resolve_typebound_subroutine):
590         Set 'types' argument for get_declared_from_expr appropriately.
591         Identify base expression, if not a variable, in the argument
592         list of class valued calls. Assign it to the 'base_expr' field
593         of the final expression. Strip away all references after the
594         last class reference.
595
596 2012-01-02  Tobias Burnus  <burnus@net-b.de>
597
598         PR fortran/51682
599         * trans-intrinsic.c (trans_this_image, trans_image_index,
600         trans_num_images, conv_intrinsic_cobound): Fold_convert the
601         caf_num_images/caf_this_images variables to the correct int kind.
602
603 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
604
605         * gfortranspec.c (lang_specific_driver): Update copyright notice
606         dates.
607 \f
608 Copyright (C) 2012 Free Software Foundation, Inc.
609
610 Copying and distribution of this file, with or without modification,
611 are permitted in any medium without royalty provided the copyright
612 notice and this notice are preserved.