OSDN Git Service

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