OSDN Git Service

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