OSDN Git Service

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