OSDN Git Service

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