OSDN Git Service

2011-06-21 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2011-06-21  Janus Weil  <janus@gcc.gnu.org>
2
3         PR fortran/49112
4         * class.c (gfc_find_derived_vtab): Make vtab and default initialization
5         symbols SAVE_IMPLICIT.
6
7 2011-06-19  Janus Weil  <janus@gcc.gnu.org>
8
9         PR fortran/47601
10         * module.c (mio_component_ref): Handle components of extended types.
11         * symbol.c (gfc_find_component): Return if sym is NULL.
12
13         PR fortran/48699
14         * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
15         make sure the vtab is present.
16
17         PR fortran/49074
18         * interface.c (gfc_extend_assign): Propagate the locus from the
19         assignment to the type-bound procedure call.
20
21         PR fortran/49417
22         * module.c (mio_component): Make sure the 'class_ok' attribute is set
23         for use-associated CLASS components.
24         * parse.c (parse_derived): Check for 'class_ok' attribute.
25         * resolve.c (resolve_fl_derived): Ditto.
26
27 2011-06-17  Tobias Burnus
28
29         PR fortran/49324
30         * trans-expr.c (gfc_trans_assignment_1): Tell
31         gfc_trans_scalar_assign to also deep-copy RHS nonvariables
32         with allocatable components.
33         * trans-array.c (gfc_conv_expr_descriptor): Ditto.
34
35 2011-06-06  Asher Langton  <langton2@llnl.gov>
36
37         PR fortran/49268
38         * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
39         pointees as AS_EXPLICIT.
40
41 2011-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
42
43         PR fortran/49265
44         * decl.c (gfc_match_modproc):  Allow for a double colon in a module
45         procedure statement.
46         * parse.c ( decode_statement): Deal with whitespace around :: in
47         gfc_match_modproc.
48
49 2011-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
50
51         Backport from trunk
52         PR fortran/45786
53         * interface.c (gfc_equivalent_op):  New function.
54         (gfc_check_interface):  Use gfc_equivalent_op instead
55         of switch statement.
56         * decl.c (access_attr_decl):  Also set access to an
57         equivalent operator.
58
59 2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
60             Thomas Koenig  <tkoenig@gcc.gnu.org>
61
62         PR fortran/48955
63         * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
64         changed to GFC_ENABLE_REVERSE.
65         * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
66         to GFC_INHIBIT_REVERSE.
67         * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
68         GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
69         * dependency.c (gfc_dep_resolver): Change names for elements of
70         gfc_reverse as necessary. Change the logic so that forward
71         dependences are remembered as well as backward ones. When both
72         have appeared, force a temporary.
73
74 2011-05-11  Tobias Burnus  <burnus@net-b.de>
75
76         PR fortran/48889
77         * expr.c (gfc_is_constant_expr): Use e->value.function.esym
78         instead of e->symtree->n.sym, if available.
79
80 2011-05-04  Steven G. Kargl  <kargl@gcc.gnu.org>
81
82         PR fortran/48720
83         * gfortran.texi: Document the 'Q' exponent-letter extension.
84         * invoke.texi: Document -Wreal-q-constant.
85         * lang.opt: Add -Wreal-q-constant option.
86         * gfortran.h: Add warn_real_q_constant to option struct.
87         * primary.c (match_real_constant):  Use it.  Accept 'Q' as
88         exponent-letter for REAL(16) real-literal-constant with a
89         fallback to REAL(10) or error if REAL(10) is not available.
90         * options.c (gfc_init_options, set_Wall) Set it.
91         (gfc_handle_option): Handle new option.
92
93 2011-04-30  Paul Thomas  <pault@gcc.gnu.org>
94
95         PR fortran/48462
96         PR fortran/48746
97         * trans-expr.c ( arrayfunc_assign_needs_temporary): Need a temp
98         if automatic reallocation on assignement is active, the lhs is a
99         target and the rhs an intrinsic function.
100         (realloc_lhs_bounds_for_intrinsic_call): Rename as next.
101         (fcncall_realloc_result): Renamed version of above function.
102         Free the original descriptor data after the function call.Set the bounds and the
103         offset so that the lbounds are one.
104         (gfc_trans_arrayfunc_assign): Call renamed function.
105
106 2011-04-29  Tobias Burnus  <burnus@net-b.de>
107
108         PR fortran/48810
109         * resolve.c (resolve_typebound_generic_call): Don't check access
110         flags of the specific function.
111
112         PR fortran/48800
113         * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
114         to AS_ASSUMED_SHAPE for function results.
115         (resolve_fl_var_and_proc): Print also for function results with
116         AS_DEFERRED an error, if they are not a pointer or allocatable.
117         (resolve_types): Make sure arguments of procedures in interface
118         blocks are resolved.
119
120 2011-04-28  Tobias Burnus  <burnus@net-b.de>
121
122         PR fortran/48112
123         * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
124         function results only once.
125         (resolve_symbol): Always resolve function results.
126
127         PR fortran/48279
128         * expr.c (gfc_check_vardef_context): Fix handling of generic
129         EXPR_FUNCTION.
130         * interface.c (check_interface0): Reject internal functions
131         in generic interfaces, unless -std=gnu.
132
133 2011-04-28  Tobias Burnus  <burnus@net-b.de>
134
135         PR fortran/48788
136         * resolve.c (resolve_global_procedure): Error recovery -
137         avoid segfault for (non)character-returning functions.
138
139 2011-04-26  Tobias Burnus  <burnus@net-b.de>
140
141         PR fortran/48588
142         * parse.c (resolve_all_program_units): Skip modules.
143         (translate_all_program_units): Handle modules.
144         (gfc_parse_file): Defer code generation for modules.
145         * module.c (fix_mio_expr): Commit created symbol.
146
147 2011-04-13  Paul Thomas  <pault@gcc.gnu.org>
148
149         PR fortran/48360
150         PR fortran/48456
151         * trans-array.c (get_std_lbound): For derived type variables
152         return array valued component lbound.
153
154 2011-04-05  Duncan Sands  <baldrick@free.fr>
155
156         * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
157
158 2011-04-04  Janus Weil  <janus@gcc.gnu.org>
159
160         PR fortran/48291
161         * class.c (get_unique_hashed_string): Adjust maximum allowable length
162         for unique type string.
163
164 2011-03-25  Release Manager
165
166         * GCC 4.6.0 released.
167
168 2011-03-12  Janus Weil  <janus@gcc.gnu.org>
169
170         PR fortran/48059
171         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
172         for polymorphic arguments.
173
174 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
175
176         PR fortran/48054
177         * intrinsic.texi: Clarify doc of logarithm functions.
178
179 2011-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
180
181         PR fortran/47552
182         * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
183         the string length variable.
184
185 2011-03-11  Janus Weil  <janus@gcc.gnu.org>
186
187         PR fortran/47768
188         * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
189         (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
190
191 2011-03-06  Paul Thomas  <pault@gcc.gnu.org>
192             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
193
194         PR fortran/47850
195         * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
196         the expression has an iterator.  Otherwise, iterate through the
197         array, checking for constant expressions for each element.
198
199 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
200
201         PR libfortran/47802
202         * intrinsic.texi: Update CTIME and FDATE documentation.
203
204 2011-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
205
206         * invoke.texi (Option Summary, Fortran Dialect Options)
207         (Preprocessing Options, Runtime Options, Code Gen Options):
208         Fix vertical list spacing by using @itemx for additinoal
209         items, empty line before @table.  Fix typos.
210
211 2011-02-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
212
213         PR fortran/47894
214         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
215
216 2011-02-26  Tobias Burnus  <burnus@net-b.de>
217
218         PR fortran/47846
219         * trans-stmt.c (gfc_trans_allocate): Fix allocation with
220         type-spec of deferred-length strings.
221
222 2011-02-26  Tobias Burnus  <burnus@net-b.de>
223
224         PR fortran/47886
225         * openmp.c (gfc_resolve_omp_directive): Resolve if()
226         condition of OpenMP's task.
227
228 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
229
230         PR fortran/47894
231         * intrinsic.texi: Fix doc of the VERIFY intrinsic.
232
233 2011-02-24  Tobias Burnus  <burnus@net-b.de>
234
235         PR fortran/47872
236         * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
237         multitable for linebreak between different syntax variants.
238
239 2011-02-24  Richard Guenther  <rguenther@suse.de>
240
241         PR fortran/47839
242         * f95-lang.c (pushdecl): For externs in non-global scope push
243         a copy of the decl into the BLOCK.
244
245 2011-02-23  Mikael Morin  <mikael@gcc.gnu.org>
246
247         PR fortran/40850
248         * trans.c (gfc_prepend_expr_to_block): New function.
249         * trans.h (gfc_prepend_expr_to_block): Declare.
250         * trans-array.c (gfc_conv_array_parameter): Replace
251         gfc_add_expr_to_block with gfc_prepend_expr_to_block.
252
253 2011-02-22  Paul Thomas  <pault@gcc.gnu.org>
254
255         PR fortran/45743
256         * trans-decl.c (gfc_get_extern_function_decl): Don't use the
257         gsymbol backend_decl if the procedure has a formal argument
258         that is a procedure.
259
260 2011-02-22  Tobias Burnus  <burnus@net-b.de>
261
262         PR fortran/41359
263         * trans-stmt.c (gfc_trans_if_1): Use correct line for
264         expressions in the if condition.
265
266 2011-02-20  Tobias Burnus  <burnus@net-b.de>
267
268         PR fortran/47797
269         * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
270         gfc_restore_backend_locus to have better debug locations.
271         * trans-array.c (gfc_trans_deferred_array): Ditto.
272
273 2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
274
275         PR fortran/45077
276         PR fortran/44945
277         * trans-types.c (gfc_get_derived_type): Remove code that looks
278         for decls in gsym and add call to gfc_get_module_backend_decl.
279         * trans.h : Add prototype for gfc_get_module_backend_decl.
280         * trans-decl.c (gfc_get_module_backend_decl): New function.
281         (gfc_get_symbol_decl): Call it.
282
283 2011-02-19  Paul Thomas  <pault@gcc.gnu.org>
284
285         PR fortran/47348
286         * trans-array.c (get_array_ctor_all_strlen): Move up in file.
287         (get_array_ctor_var_strlen): Add block dummy and add call to
288         get_array_ctor_all_strlen instead of giving up on substrings.
289         Call gcc_unreachable for default case.
290         (get_array_ctor_strlen): Add extra argument to in call to
291         get_array_ctor_var_strlen.
292
293 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
294
295         PR fortran/47789
296         * primary.c (gfc_match_structure_constructor): Handle empty parent
297         types.
298
299 2011-02-18  Tobias Burnus
300
301         PR fortran/47775
302         * trans-expr.c (arrayfunc_assign_needs_temporary): Use
303         esym to check whether the specific procedure returns an
304         allocatable or pointer.
305
306 2011-02-18  Michael Matz  <matz@suse.de>
307
308         PR fortran/45586
309         * gfortran.h (struct gfc_component): Add norestrict_decl member.
310         * trans.h (struct lang_type): Add nonrestricted_type member.
311         * trans-expr.c (gfc_conv_component_ref): Search fields with correct
312         parent type.
313         * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
314         (gfc_sym_type): Use it.
315
316 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
317
318         PR fortran/47768
319         * resolve.c (resolve_transfer): Reject variables with procedure pointer
320         components.
321
322 2011-02-18  Janus Weil  <janus@gcc.gnu.org>
323
324         PR fortran/47767
325         * gfortran.h (gfc_check_access): Removed prototype.
326         (gfc_check_symbol_access): Added prototype.
327         * module.c (gfc_check_access): Renamed to 'check_access', made static.
328         (gfc_check_symbol_access): New function, basically a shortcut for
329         'check_access'.
330         (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
331         'gfc_check_symbol_access'.
332         (write_operator,write_module): Renamed 'gfc_check_access'.
333         * resolve.c (resolve_fl_procedure,resolve_fl_derived,
334         resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
335         'gfc_check_symbol_access'.
336
337 2011-02-16  Janus Weil  <janus@gcc.gnu.org>
338
339         PR fortran/47745
340         * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
341         * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
342         'gfc_build_class_symbol'.
343         (gfc_match_decl_type_spec): Reject unlimited polymorphism.
344         * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
345         * match.c (select_type_set_tmp): Move setting of 'class_ok' into
346         'gfc_build_class_symbol'.
347         * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
348
349 2011-02-15  Steven G. Kargl  <kargl@gcc.gnu.org>
350
351         PR fortran/47633
352         . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
353
354 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
355
356         PR fortran/47730
357         * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
358
359 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
360
361         PR fortran/47728
362         * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
363         arrays.
364         * primary.c (gfc_match_varspec): Avoid ICE for invalid class
365         declaration.
366
367 2011-02-14  Janus Weil  <janus@gcc.gnu.org>
368
369         PR fortran/47349
370         * interface.c (get_expr_storage_size): Handle derived-type components.
371
372 2011-02-13  Tobias Burnus  <burnus@net-b.de>
373
374         PR fortran/47569
375         * interface.c (compare_parameter): Avoid ICE with
376         character components.
377
378 2011-02-12  Janus Weil  <janus@gcc.gnu.org>
379
380         * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
381         * decl.c (build_sym,build_struct,attr_decl1): Use return value of
382         'gfc_build_class_symbol'.
383
384 2011-02-12  Michael Matz  <matz@suse.de>
385             Janus Weil  <janus@gcc.gnu.org>
386             Tobias Burnus  <burnus@net-b.de>
387
388         PR fortran/45586
389         * trans-expr.c (conv_parent_component_references): Avoid unintendent
390         skipping of parent compounds.
391
392 2011-02-11  Tobias Burnus  <burnus@net-b.de>
393
394         PR fortran/47550
395         * resolve.c (resolve_formal_arglist): PURE with VALUE
396         and no INTENT: Add -std= diagnostics.
397
398 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
399
400         PR fortran/47352
401         * resolve.c (resolve_procedure_interface): If interface has a result
402         variable, copy the typespec and set result pointer to self.
403
404 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
405
406         PR fortran/47463
407         * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
408
409 2011-02-09  Janus Weil  <janus@gcc.gnu.org>
410
411         PR fortran/47637
412         * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
413
414 2011-02-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
415
416         * io.c (match_io_element): Do not set dt if not inquire.
417
418 2011-02-08  Janus Weil  <janus@gcc.gnu.org>
419
420         PR fortran/45290
421         * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
422         initialization target.
423
424 2011-02-07  Janne Blomqvist  <jb@gcc.gnu.org>
425             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
426
427         * gfortran.texi (Thread-safety): texinfo styling fixes.
428         * intrinsic.texi: Likewise.
429
430 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
431
432         * gfortran.texi (Compiler Characteristics): Add reference to
433         thread-safety section.
434
435 2011-02-06  Janne Blomqvist  <jb@gcc.gnu.org>
436
437         * gfortran.texi (Thread-safety): New section.
438         * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
439         (GETENV): Likewise.
440         (GET_ENVIRONMENT_VARIABLE): Likewise.
441         (SYSTEM): Likewise.
442
443 2011-02-06  Paul Thomas  <pault@gcc.gnu.org>
444
445         PR fortran/47592
446         * trans-stmt.c (gfc_trans_allocate): For deferred character
447         length allocations with SOURCE, store to the values and string
448         length to avoid calculating twice.  Replace gfc_start_block
449         with gfc_init_block to avoid unnecessary contexts and to keep
450         declarations of temporaries where they should be. Tidy up the
451         code a bit.
452
453 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
454
455         PR fortran/42434
456         * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
457
458 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
459             Paul Thomas  <pault@gcc.gnu.org>
460
461         PR fortran/47082
462         * trans-expr.c (gfc_trans_class_init_assign): Add call to
463         gfc_get_derived_type.
464         * module.c (read_cleanup): Do not use unique_symtrees for vtabs
465         or vtypes.
466
467 2011-02-02  Janus Weil  <janus@gcc.gnu.org>
468
469         PR fortran/47572
470         * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
471
472 2011-02-01  Janus Weil  <janus@gcc.gnu.org>
473
474         PR fortran/47565
475         * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
476         pointer components with allocatable result.
477
478 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
479
480         PR fortran/47455
481         * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
482         with pointer or allocatable result.
483
484 2011-01-31  Paul Thomas  <pault@gcc.gnu.org>
485
486         PR fortran/47519
487         * trans-stmt.c (gfc_trans_allocate): Improve handling of
488         deferred character lengths with SOURCE.
489         * iresolve.c (gfc_resolve_repeat): Calculate character
490         length from source length and ncopies.
491         * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
492         expressions for ALLOCATE.
493
494 2011-01-31  Janus Weil  <janus@gcc.gnu.org>
495
496         PR fortran/47463
497         * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
498         an argument of a typebound assignment being a component.
499
500 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
501
502         * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
503         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
504
505 2011-01-31  Tobias Burnus  <burnus@net-b.de>
506
507         PR fortran/47042
508         * resolve.c (resolve_fl_procedure): Reject stmt functions
509         with pointer/allocatable attribute.
510
511 2011-01-31  Tobias Burnus  <burnus@net-b.de>
512
513         PR fortran/47042
514         * interface.c (gfc_procedure_use): Add explicit interface check for
515         pointer/allocatable functions.
516
517 2011-01-30  Paul Thomas  <pault@gcc.gnu.org>
518
519         PR fortran/47523
520         * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
521         expr and is assigned to a deferred character length scalar,
522         make sure that the function is called before reallocation,
523         so that the length is available. Include procedure pointer
524         and procedure pointer component rhs as well.
525
526         PR fortran/45170
527         PR fortran/35810
528         PR fortran/47350
529         * gfortran.dg/allocatable_function_5.f90: New test not added by
530         mistake on 2011-01-28.
531
532 2011-01-29  Tobias Burnus  <burnus@net-b.de>
533
534         PR fortran/47531
535         * check.c (gfc_check_shape): Support kind argument in SHAPE.
536         * intrinsic.c (add_functions): Ditto.
537         * resolve.c (gfc_resolve_shape): Ditto.
538         * simplify.c (gfc_simplify_shape): Ditto.
539         * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
540         gfc_simplify_shape): Update prototypes.
541         * intrinisc.text (SHAPE): Document kind argument.
542
543 2011-01-28  Tobias Burnus  <burnus@net-b.de>
544
545         PR fortran/47507
546         * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
547         attribute also without INTENT.
548
549 2011-01-28  Tobias Burnus  <burnus@net-b.de>
550
551         * gfortran.texi (Fortran 2003 status): Mention support for
552         nonconstant namelist variables.
553
554 2011-01-28  Paul Thomas  <pault@gcc.gnu.org>
555             Tobias Burnus  <burnus@gcc.gnu.org>
556
557         PR fortran/45170
558         PR fortran/35810
559         PR fortran/47350
560         * interface.c (compare_actual_formal): An allocatable or pointer
561         deferred length actual is only allowed if the formal argument
562         is also deferred length. Clean up whitespace.
563         * trans-expr.c (gfc_conv_procedure_call): Pass string length for
564         deferred character length formal arguments by reference. Do the
565         same for function results.
566         (gfc_trans_pointer_assignment): Do not do runtime check of lhs
567         and rhs character lengths, if deferred length lhs.  In this case
568         set the lhs character length to that of the rhs.
569         (gfc_conv_string_parameter): Remove assert that string length is
570         an integer type.
571         (is_scalar_reallocatable_lhs): New function.
572         (alloc_scalar_allocatable_for_assignment): New function.
573         (gfc_trans_assignment_1): Call above new function. If the rhs is
574         a deferred character length itself, makes ure that the function
575         is called before reallocation, so that the length is available.
576         (gfc_trans_asssignment): Remove error about assignment to
577         deferred length character variables.
578         * gfortran.texi : Update entry about (re)allocation on
579         assignment.
580         * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
581         length character variables.
582         * module.c (mio_typespec): Transfer deferred characteristic.
583         * trans-types.c (gfc_get_function_type): New code to generate
584         hidden typelist, so that those character lengths that are
585         passed by reference get the right type.
586         * resolve.c (resolve_contained_fntype): Supress error for
587         deferred character length functions.
588         (resolve_function, resolve_fl_procedure) The same.
589         (check_symbols): Remove the error that support for
590         entity with deferred type parameter is not yet implemented.
591         (resolve_fl_derived): The same.
592         match.c (alloc_opt_list): Allow MOLD for deferred length object.
593         * trans-decl.c (gfc_get_symbol_decl): For deferred character
594         length dummies, generate a local variable for string length.
595         (create_function_arglist): Hidden length can be a pointer.
596         (gfc_trans_deferred_vars): For deferred character length
597         results and dummies, assign the string length to the local
598         variable from the hidden argument on entry and the other way
599         round on exit, as appropriate.
600
601 2011-01-27  Tobias Burnus  <burnus@net-b.de>
602
603         PR fortran/47474
604         * trans-decl.c (gfc_generate_function_code): Fix init
605         of allocatable result variable with allocatable components.
606
607 2011-01-27  Tobias Burnus  <burnus@net-b.de>
608
609         PR fortran/47472
610         * options.c (gfc_handle_module_path_options): Save
611         module path without trailing slash as include path.
612
613 2011-01-25  Tobias Burnus  <burnus@net-b.de>
614
615         PR fortran/47448
616         * interface.c (gfc_check_operator_interface): Fix
617         defined-assignment check.
618
619 2011-01-23  Tobias Burnus  <burnus@net-b.de>
620
621         PR fortran/47421
622         * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
623         scalar allocatable dummy arguments.
624
625 2011-01-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
626
627         PR fortran/38536
628         * resolve.c (gfc_iso_c_func_interface):  For C_LOC,
629         check for array sections followed by component references
630         which are illegal.  Also check for coindexed arguments.
631
632 2011-01-22  Tobias Burnus  <burnus@net-b.de>
633
634         PR fortran/47399
635         * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
636         PARAMETER TBP.
637
638 2011-01-21  Tobias Burnus  <burnus@net-b.de>
639
640         PR fortran/47394
641         * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
642         Use defined instead of magic number exit status codes.
643         * scanner.c (include_line, gfc_new_file): Ditto.
644
645 2011-01-21  Tobias Burnus  <burnus@net-b.de>
646
647         PR fortran/47377
648         * expr.c (gfc_check_pointer_assign): Reject expr data-targets
649         without pointer attribute.
650
651 2011-01-18  Janus Weil  <janus@gcc.gnu.org>
652
653         PR fortran/47240
654         * resolve.c (expression_rank): Fix rank of procedure poiner components.
655         * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
656         pointer components as actual arguments.
657
658 2011-01-17  Jakub Jelinek  <jakub@redhat.com>
659
660         PR fortran/47331
661         * gfortran.h (struct gfc_omp_saved_state): New type.
662         (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
663         * resolve.c (resolve_global_procedure): Call it around gfc_resolve
664         call.
665         * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
666         functions.
667
668 2011-01-17  Tobias Burnus  <burnus@net-b.de>
669
670         PR fortran/47327
671         * invoke.texi (Options to request or suppress errors
672         and warnings): Fix cross link.
673
674 2011-01-15  Tobias Burnus  <burnus@net-b.de>
675
676         * gfortran.texi: Update Fortran 2003 Status section.
677
678         PR fortran/47177
679         * invoke.texi: Add missing "-E" to the -dM example.
680
681 2011-01-13  Tobias Burnus  <burnus@net-b.de>
682
683         PR fortran/47268
684         * intrinsic.texi (get_command_argument, get_environment_variable):
685         Mark arguments as optional in the Arguments section.
686
687 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
688             Tobias Burnus  <burnus@net-b.de>
689
690         PR fortran/47260
691         * trans-decl.c (gfc_get_extern_function_decl,
692         build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
693         calling decl_attributes.
694
695 2011-01-13  Tobias Burnus  <burnus@net-b.de>
696             Mikael Morin  <mikael@gcc.gnu.org>
697
698         PR fortran/45848
699         PR fortran/47204
700         * gfortran.h (gfc_code): Move union ext's case_list into
701         the struct block.
702         * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
703         by "block.".
704         * frontend-passes.c (gfc_code_walker): Ditto.
705         * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
706         gfc_match_type_is, gfc_match_class_is): Ditto.
707         * resolve.c (resolve_select, resolve_select_type): Ditto.
708         * st.c (gfc_free_statement): Ditto.
709         * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
710         gfc_trans_character_select): Ditto.
711         * parse.c (resolve_all_program_units): For error recovery, avoid
712         segfault is proc_name is NULL.
713
714 2011-01-11  Paul Thomas  <pault@gcc.gnu.org>
715
716         PR fortran/47051
717         * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
718         to be standard compliant by testing for shape rather than size
719         before skipping reallocation. Improve comments.
720
721 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
722
723         PR fortran/47224
724         * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
725         of code.
726
727 2011-01-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
728
729         PR fortran/38536
730         * resolve.c (is_scalar_expr_ptr):  For a substring reference,
731         use gfc_dep_compare_expr to compare start and end expession.
732         Add FIXME for using gfc_deb_compare_expr elsewhere.
733
734 2011-01-09  Janus Weil  <janus@gcc.gnu.org>
735
736         PR fortran/46313
737         * class.c (get_unique_type_string): Make type name start with upper
738         case letter.
739
740 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
741
742         PR fortran/46405
743         * invoke.texi:  Mention -ffree-line-length-none and
744         -ffixed-line-length-none for preprocessing.
745
746 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
747
748         PR fortran/46896
749         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
750         procedure argument (eg TRANSPOSE) use a temporary if there is
751         any chance of aliasing due to host or use association.
752         (arrayfunc_assign_needs_temporary): Correct logic for function
753         results and do not use a temporary for implicitly PURE
754         variables.  Use a temporary for Cray pointees.
755         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
756         implicit pureness of containing procedure.
757         * decl.c (match_old_style_init, gfc_match_data): Where decl
758         would fail in PURE procedure, set implicit_pure to zero.
759         * gfortran.h : Add implicit_pure to structure symbol_attr and
760         add prototype for function gfc_implicit_pure.
761         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
762         Where decl would fail in PURE procedure, reset implicit_pure.
763         * io.c (match_vtag, gfc_match_open, gfc_match_close,
764         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
765         * match.c (gfc_match_critical, gfc_match_stopcode,
766         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
767         same.
768         * parse.c (decode_omp_directive): The same.
769         (parse_contained): If not PURE, set implicit pure attribute.
770         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
771         resolve_function, resolve_ordinary_assign) : The same.
772         (gfc_implicit_pure): New function.
773         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
774         to ab_attribute enum and use it in this function.
775
776 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
777
778         PR fortran/45777
779         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
780         make static and move in front of its only caller, to ...
781         * trans-array.c (symbols_could_alias): ... here.
782         Pass information about pointer and target status as
783         arguments.  Allocatable arrays don't alias anything
784         unless they have the POINTER attribute.
785         (gfc_could_be_alias):  Keep track of pointer and target
786         status when following references.  Also check if typespecs
787         of components match those of other components or symbols.
788
789 2011-01-07  Tobias Burnus  <burnus@net-b.de>
790
791         PR fortran/41580
792         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
793         * intrinsic.c (add_functions): Use simplify functions for
794         EXTENDS_TYPE_OF and SAME_TYPE_AS.
795         * intrinsic.h (gfc_simplify_extends_type_of,
796         gfc_simplify_same_type_as): New prototypes.
797         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
798         gfc_simplify_same_type_as): New functions.
799
800 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
801
802         PR fortran/47189
803         PR fortran/47194
804         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
805         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
806         type.
807         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
808         * resolve.c (resolve_deallocate_expr): _data component will be added
809         at translation stage.
810         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
811         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
812
813 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
814
815         PR fortran/33117
816         PR fortran/46478
817         * parse.c (parse_interface): Remove check for procedure types.
818         * interface.c (check_interface0): Verify that procedures are
819         either all SUBROUTINEs or all FUNCTIONs.
820
821 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
822
823         PR fortran/47180
824         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
825         'vtab' is initialized).
826
827 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
828
829         PR fortran/47180
830         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
831         assignment, set the _vptr component to the declared type.
832
833 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
834
835         PR fortran/46017
836         * resolve.c (resolve_allocate_deallocate): Follow references to
837         check for duplicate occurence of allocation/deallocation objects.
838
839 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
840
841         PR fortran/47024
842         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
843         of polymorphic allocatables according to their declared type.
844
845 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
846
847         PR fortran/46448
848         * class.c (gfc_find_derived_vtab): Set the module field for the copying
849         routine to make sure it receives module name mangling.
850
851 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
852
853         * gfortranspec.c (lang_specific_driver): Update copyright notice
854         dates.
855
856 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
857
858         * intrinsic.texi (LEADZ): Fix example.
859
860 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
861
862         PR fortran/46408
863         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
864         routine.
865
866 \f
867 Copyright (C) 2011 Free Software Foundation, Inc.
868
869 Copying and distribution of this file, with or without modification,
870 are permitted in any medium without royalty provided the copyright
871 notice and this notice are preserved.