OSDN Git Service

b65a21fc86b7f84fe40258a98b4f2b3fb44255ae
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
1 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
2
3         PR fortran/46405
4         * invoke.texi:  Mention -ffree-line-length-none and
5         -ffixed-line-length-none for preprocessing.
6
7 2011-01-08  Paul Thomas  <pault@gcc.gnu.org>
8
9         PR fortran/46896
10         * trans-expr.c (gfc_conv_procedure_call): With a non-copying
11         procedure argument (eg TRANSPOSE) use a temporary if there is
12         any chance of aliasing due to host or use association.
13         (arrayfunc_assign_needs_temporary): Correct logic for function
14         results and do not use a temporary for implicitly PURE
15         variables.  Use a temporary for Cray pointees.
16         * symbol.c (gfc_add_save): Explicit SAVE not compatible with
17         implicit pureness of containing procedure.
18         * decl.c (match_old_style_init, gfc_match_data): Where decl
19         would fail in PURE procedure, set implicit_pure to zero.
20         * gfortran.h : Add implicit_pure to structure symbol_attr and
21         add prototype for function gfc_implicit_pure.
22         * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
23         Where decl would fail in PURE procedure, reset implicit_pure.
24         * io.c (match_vtag, gfc_match_open, gfc_match_close,
25         gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
26         * match.c (gfc_match_critical, gfc_match_stopcode,
27         sync_statement, gfc_match_allocate, gfc_match_deallocate): The
28         same.
29         * parse.c (decode_omp_directive): The same.
30         (parse_contained): If not PURE, set implicit pure attribute.
31         * resolve.c (resolve_formal_arglist, resolve_structure_cons,
32         resolve_function, resolve_ordinary_assign) : The same.
33         (gfc_implicit_pure): New function.
34         * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
35         to ab_attribute enum and use it in this function.
36
37 2011-01-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
38
39         PR fortran/45777
40         * symbol.c (gfc_symbols_could_alias):  Strip gfc_ prefix,
41         make static and move in front of its only caller, to ...
42         * trans-array.c (symbols_could_alias): ... here.
43         Pass information about pointer and target status as
44         arguments.  Allocatable arrays don't alias anything
45         unless they have the POINTER attribute.
46         (gfc_could_be_alias):  Keep track of pointer and target
47         status when following references.  Also check if typespecs
48         of components match those of other components or symbols.
49
50 2011-01-07  Tobias Burnus  <burnus@net-b.de>
51
52         PR fortran/41580
53         * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
54         * intrinsic.c (add_functions): Use simplify functions for
55         EXTENDS_TYPE_OF and SAME_TYPE_AS.
56         * intrinsic.h (gfc_simplify_extends_type_of,
57         gfc_simplify_same_type_as): New prototypes.
58         * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
59         gfc_simplify_same_type_as): New functions.
60
61 2011-01-07  Janus Weil  <janus@gcc.gnu.org>
62
63         PR fortran/47189
64         PR fortran/47194
65         * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
66         * class.c (gfc_class_null_initializer): Initialize _vptr to declared
67         type.
68         * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
69         * resolve.c (resolve_deallocate_expr): _data component will be added
70         at translation stage.
71         * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
72         * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
73
74 2011-01-06  Daniel Franke  <franke.daniel@gmail.com>
75
76         PR fortran/33117
77         PR fortran/46478
78         * parse.c (parse_interface): Remove check for procedure types.
79         * interface.c (check_interface0): Verify that procedures are
80         either all SUBROUTINEs or all FUNCTIONs.
81
82 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
83
84         PR fortran/47180
85         * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
86         'vtab' is initialized).
87
88 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
89
90         PR fortran/47180
91         * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
92         assignment, set the _vptr component to the declared type.
93
94 2011-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
95
96         PR fortran/46017
97         * resolve.c (resolve_allocate_deallocate): Follow references to
98         check for duplicate occurence of allocation/deallocation objects.
99
100 2011-01-05  Janus Weil  <janus@gcc.gnu.org>
101
102         PR fortran/47024
103         * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
104         of polymorphic allocatables according to their declared type.
105
106 2011-01-04  Janus Weil  <janus@gcc.gnu.org>
107
108         PR fortran/46448
109         * class.c (gfc_find_derived_vtab): Set the module field for the copying
110         routine to make sure it receives module name mangling.
111
112 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
113
114         * gfortranspec.c (lang_specific_driver): Update copyright notice
115         dates.
116
117 2011-01-03  Janus Weil  <janus@gcc.gnu.org>
118
119         * intrinsic.texi (LEADZ): Fix example.
120
121 2011-01-02  Janus Weil  <janus@gcc.gnu.org>
122
123         PR fortran/46408
124         * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
125         routine.
126
127 \f
128 Copyright (C) 2011 Free Software Foundation, Inc.
129
130 Copying and distribution of this file, with or without modification,
131 are permitted in any medium without royalty provided the copyright
132 notice and this notice are preserved.