OSDN Git Service

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