OSDN Git Service

PR c++/12335
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2004-01-14  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2
3         PR c++/12335
4         * parser.c (cp_parser_lookup_name): Return error_mark_node if there
5         is no destructor while looking up a BIT_NOT_EXPR.
6
7 2004-01-13  Ian Lance Taylor  <ian@wasabisystems.com>
8
9         * cxxfilt.c: Remove unused file.
10
11 2004-01-14  Jan Hubicka  <jh@suse.cz>
12
13         Partial fix to PR c++/12850
14         * decl2.c (mark_used): Do not proactively instantiate templates
15         when compiling in unit-at-a-time or not optimizing.
16         * optimize.c (maybe_clone_body): Do not increase function depth.
17
18 2004-01-13  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
19
20         PR c++/13474
21         * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
22
23 2003-01-12  Steven Bosscher  <stevenb@suse.de>
24
25         PR c++/13558
26         * parser.c (cp_parser_member_declaration): Any non-type is also
27         not a class or a function.
28
29 2004-01-12  Jason Merrill  <jason@redhat.com>
30
31         PR c++/12815
32         * class.c (build_base_path): Do not mark vtable references as
33         TREE_CONSTANT.
34         (build_vtbl_ref_1): Likewise.
35
36 2004-01-12  Richard Henderson  <rth@redhat.com>
37
38         PR opt/10776
39         * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
40         (store_init_value): Use it.
41         * decl.c (check_initializer): Expect full initialization code
42         from store_init_value.
43         * init.c (expand_aggr_init_1): Likewise.
44         * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
45
46 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
47
48         * class.c (layout_class_type): For non-POD class types, also copy
49         the DECL_SIZE and DECL_MODE of fields to the base class type.
50
51 2004-01-12  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
52
53         PR c++/13289
54         * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
55         calling regenerate_decl_from_template.
56
57 2004-01-12  Scott Brumbaugh  <scottb.lists@verizon.net>
58
59         PR c++/4100
60         * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
61         decl-specifier occurring along with a class definition.
62
63 2004-01-12  Ian Lance Taylor  <ian@wasabisystems.com>
64
65         * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
66         clauses to comments describing declares_class_or_enum.
67         (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
68         false.
69
70 2004-01-12  Jan Hubicka  <jh@suse.cz>
71
72         * pt.c (for_each_template_parm): Do not check for duplicates.
73         (for_each_template_parm): Use walk_tree duplicate checking code.
74
75 2004-01-11  Ian Lance Taylor  <ian@wasabisystems.com>
76
77         PR c++/3478
78         * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
79         is error_mark_node, don't add any more decl_specs.
80         (cp_parser_init_declarator): After committing to a declaration, if
81         the decl_specifiers start with error_mark_node, issue an error and
82         change the type to "int".
83
84 2004-01-09  Nathanael Nerode  <neroden@gcc.gnu.org>
85
86         PR bootstrap/7817
87         * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
88
89 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
90
91         DR 337
92         PR c++/9256
93         * pt.c (tsubst): Substitution must fail if we are attempting to 
94         create an array with element type that is an abstract class type.
95         * decl.c (cp_finish_decl): Strip pointers and array types recursively
96         before calling abstract_virtuals_error.
97
98 2004-01-09  Alexandre Oliva  <aoliva@redhat.com>
99
100         * name-lookup.c (qualified_lookup_using_namespace): Consider
101         strong using directives even if we've already found a binding.
102
103 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
104
105         * cp-tree.h (cxx_expand_expr): Change prototype.
106         * expr.c (cxx_expand_expr): Add alt_rtl parameter.
107
108 2004-01-08  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
109
110         PR c++/12573
111         * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
112         looking into them recursively. They can be there because of the
113         new __offsetof__ extension.
114
115 2004-01-07  Zack Weinberg  <zack@codesourcery.com>
116
117         * parser.c (cp_parser_save_member_function_body): Mark the
118         definition static.
119
120 2004-01-05  Mark Mitchell  <mark@codesourcery.com>
121
122         PR c++/13057
123         * class.c (build_clone): Copy type attributes from the original
124         function to the clone.
125
126         PR c++/12815
127         * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
128         references as constant.
129
130         PR c++/12132
131         * parser.c (cp_parser_explicit_instantiation): Improve error
132         recovery.
133         (cp_parser_require): Improve indication of the error location.
134
135         PR c++/13451
136         * parser.c (cp_parser_class_head): Reorder logic to check for
137         invalid qualification.
138
139 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
140
141         PR c++/13157
142         * name-lookup.c (lookup_using_namespace): Remove spacesp
143         parameter.
144         (unqualified_namespace_lookup): Likewise.
145         (lookup_qualified_name): Adjust accordingly.
146         (lookup_name_real): Likewise.
147         (lookup_arg_dependent): Do not eliminate the namespace of the
148         functions found by unqualified name lookup unless that is the
149         current namespace.
150
151 2004-01-04  Andrew Pinski  <pinskia@physics.uc.edu>
152
153         * semantics.c (push_deferring_access_checks): Fix format.
154         (resume_deferring_access_checks): Likewise.
155         (stop_deferring_access_checks): Likewise.
156         (pop_deferring_access_checks): Likewise.
157         (get_deferred_access_checks): Likewise.
158         (pop_to_parent_deferring_access_checks): Likewise.
159         (perform_deferred_access_checks): Likewise.
160         (perform_or_defer_access_check): Likewise.
161
162 2004-01-04  Richard Henderson  <rth@redhat.com>
163
164         * call.c (build_over_call): Don't create a save_expr of an
165         aggregate, but rather its address.
166
167 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
168
169         PR c++/13529
170         * parser.c (cp_parser_postfix_expression): Allow "." to appear in
171         an offsetof expression.
172
173         * parser.c (cp_parser_parameter_declaration): Fix comment.
174
175         PR c++/12226
176         * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
177         (reference_binding): Set it when appropriate.
178         (build_temp): New function, split out from ...
179         (convert_like_real): ... here.  Honor CHECK_COPY_CONSTRUCTOR_P.
180         (initialize_reference): Likewise.
181
182         PR c++/13536
183         * parser.c (cp_parser): Add in_type_id_in_expr_p.
184         (cp_parser_new): Initialize it.
185         (cp_parser_postfix_expression): Set it.
186         (cp_parser_sizeof_operand): Likewise.
187         (cp_parser_parameteR_declaration): Do not commit early to tenative
188         parsers when in_type_id_in_expr_p is set.
189
190 2004-01-03  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
191
192         PR c++/13094
193         * parser.c (cp_parser_template_argument): Don't call
194         make_unbound_class_template directly.
195         (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
196         UNBOUND_CLASS_TEMPLATE tree node.
197
198 2004-01-02  Richard Sandiford  <rsandifo@redhat.com>
199
200         PR target/12729
201         * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
202
203 2004-01-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
204
205         PR c++/13520
206         * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
207         (DECL_FUNCTION_TEMPLATE_P): Use it.
208         (DECL_CLASS_TEMPLATE_P): Likewise.
209         * parser.c (cp_parser_lookup_name): Add is_template parameter.
210         (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
211         (cp_parser_template_name): Likewise.
212         (cp_parser_elaborated_type_specifier): Likewise.
213         (cp_parser_namespace_name): Likewise.
214         (cp_parser_class_name): Likewise.
215         (cp_parser_lookup_name_simple): Likewise.
216
217 See ChangeLog.3 for earlier changes.