]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
re PR bootstrap/12744 (A GCC release tarball can no longer be built without bison...
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
03787dfd
KC
12004-01-15 Kelley Cook <kcook@gcc.gnu.org>
2
3 * Make-lang.in (c++.srcextra): Dummy entry.
4
0d956474
GB
52004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
6
7 PR c++/8856
8 * parser.c (cp_parser_template_name): Don't try to parse a
9 conversion-function-id, as it cannot be a template-name.
10 (cp_parser_simple_type_specifier): Check for invalid template-ids
11 even after a built-in type.
12
7ec4deda
JH
132004-01-14 Jan Hubicka <jh@suse.cz>
14
15 PR c++/12850
16 * pt.c (instantiate_decl): Do not increase function_depth.
17
e0fed25b
DS
182004-01-14 Danny Smith <dannysmith@users,sourceforge.net>
19
20 PR c++/9021
21 PR c++/11005
22 * parser.c (cp_parser_elaborated_type_specifier): Warn about
23 attributes and discard.
24 * decl.c (xref_tag): Don't overwite existing attributes with
25 NULL_TREE.
26
fd6e3cce
GB
272004-01-14 Giovanni Bajo <giovannibajo@gcc.gnu.org>
28
29 PR c++/12335
30 * parser.c (cp_parser_lookup_name): Return error_mark_node if there
31 is no destructor while looking up a BIT_NOT_EXPR.
32
f18056ff
ILT
332004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
34
35 * cxxfilt.c: Remove unused file.
36
d34cb6a1
JH
372004-01-14 Jan Hubicka <jh@suse.cz>
38
39 Partial fix to PR c++/12850
40 * decl2.c (mark_used): Do not proactively instantiate templates
41 when compiling in unit-at-a-time or not optimizing.
42 * optimize.c (maybe_clone_body): Do not increase function depth.
43
cdf4ac6f
GB
442004-01-13 Giovanni Bajo <giovannibajo@gcc.gnu.org>
45
46 PR c++/13474
47 * pt.c (tsubst) <INTEGER_TYPE>: Remove obsolete array index tweaking.
48
fdd09134
SB
492003-01-12 Steven Bosscher <stevenb@suse.de>
50
51 PR c++/13558
52 * parser.c (cp_parser_member_declaration): Any non-type is also
53 not a class or a function.
54
7b25f6e5
JM
552004-01-12 Jason Merrill <jason@redhat.com>
56
57 PR c++/12815
58 * class.c (build_base_path): Do not mark vtable references as
59 TREE_CONSTANT.
60 (build_vtbl_ref_1): Likewise.
61
25ebb82a
RH
622004-01-12 Richard Henderson <rth@redhat.com>
63
64 PR opt/10776
65 * typeck2.c (split_nonconstant_init_1, split_nonconstant_init): New.
66 (store_init_value): Use it.
67 * decl.c (check_initializer): Expect full initialization code
68 from store_init_value.
69 * init.c (expand_aggr_init_1): Likewise.
70 * decl2.c (maybe_emit_vtables): Abort if runtime init needed.
71
4f0a2b81
MM
722004-01-12 Mark Mitchell <mark@codesourcery.com>
73
74 * class.c (layout_class_type): For non-POD class types, also copy
75 the DECL_SIZE and DECL_MODE of fields to the base class type.
76
66e0c440
KL
772004-01-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
78
79 PR c++/13289
80 * pt.c (instantiate_decl): Set DECL_TEMPLATE_INSTANTIATED before
81 calling regenerate_decl_from_template.
82
0426c4ca
SB
832004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
84
85 PR c++/4100
86 * parser.c (cp_parser_decl_specifier_seq): Add check for a friend
87 decl-specifier occurring along with a class definition.
88
543ca912
ILT
892004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
90
91 * parser.c (cp_parser_decl_specifier_seq): Add parenthetical
92 clauses to comments describing declares_class_or_enum.
93 (cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
94 false.
95
c1e39976
JH
962004-01-12 Jan Hubicka <jh@suse.cz>
97
98 * pt.c (for_each_template_parm): Do not check for duplicates.
99 (for_each_template_parm): Use walk_tree duplicate checking code.
100
e90c7b84
ILT
1012004-01-11 Ian Lance Taylor <ian@wasabisystems.com>
102
103 PR c++/3478
104 * parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
105 is error_mark_node, don't add any more decl_specs.
106 (cp_parser_init_declarator): After committing to a declaration, if
107 the decl_specifiers start with error_mark_node, issue an error and
108 change the type to "int".
109
c90501d0
NN
1102004-01-09 Nathanael Nerode <neroden@gcc.gnu.org>
111
112 PR bootstrap/7817
113 * Make-lang.in: Copy gcc.1 to g++.1 rather than using .so.
114
cfb91b67
GB
1152004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
116
117 DR 337
118 PR c++/9256
119 * pt.c (tsubst): Substitution must fail if we are attempting to
120 create an array with element type that is an abstract class type.
121 * decl.c (cp_finish_decl): Strip pointers and array types recursively
122 before calling abstract_virtuals_error.
123
c404ab02
AO
1242004-01-09 Alexandre Oliva <aoliva@redhat.com>
125
126 * name-lookup.c (qualified_lookup_using_namespace): Consider
127 strong using directives even if we've already found a binding.
128
0fab64a3
MM
1292004-01-09 Mark Mitchell <mark@codesourcery.com>
130
131 * cp-tree.h (cxx_expand_expr): Change prototype.
132 * expr.c (cxx_expand_expr): Add alt_rtl parameter.
133
3d5ddced
GB
1342004-01-08 Giovanni Bajo <giovannibajo@gcc.gnu.org>
135
136 PR c++/12573
137 * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
138 looking into them recursively. They can be there because of the
139 new __offsetof__ extension.
140
7ce27103
ZW
1412004-01-07 Zack Weinberg <zack@codesourcery.com>
142
143 * parser.c (cp_parser_save_member_function_body): Mark the
144 definition static.
145
88081599
MM
1462004-01-05 Mark Mitchell <mark@codesourcery.com>
147
221bfb03
MM
148 PR c++/13057
149 * class.c (build_clone): Copy type attributes from the original
150 function to the clone.
7ce27103 151
856363c8 152 PR c++/12815
962c0823
MM
153 * class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
154 references as constant.
155
216bb6e1
MM
156 PR c++/12132
157 * parser.c (cp_parser_explicit_instantiation): Improve error
158 recovery.
159 (cp_parser_require): Improve indication of the error location.
160
88081599
MM
161 PR c++/13451
162 * parser.c (cp_parser_class_head): Reorder logic to check for
163 invalid qualification.
164
543ebd4a
MM
1652004-01-04 Mark Mitchell <mark@codesourcery.com>
166
167 PR c++/13157
168 * name-lookup.c (lookup_using_namespace): Remove spacesp
169 parameter.
170 (unqualified_namespace_lookup): Likewise.
171 (lookup_qualified_name): Adjust accordingly.
172 (lookup_name_real): Likewise.
173 (lookup_arg_dependent): Do not eliminate the namespace of the
174 functions found by unqualified name lookup unless that is the
175 current namespace.
176
572c2b17
AP
1772004-01-04 Andrew Pinski <pinskia@physics.uc.edu>
178
179 * semantics.c (push_deferring_access_checks): Fix format.
180 (resume_deferring_access_checks): Likewise.
181 (stop_deferring_access_checks): Likewise.
182 (pop_deferring_access_checks): Likewise.
183 (get_deferred_access_checks): Likewise.
184 (pop_to_parent_deferring_access_checks): Likewise.
185 (perform_deferred_access_checks): Likewise.
186 (perform_or_defer_access_check): Likewise.
187
88401f73
RH
1882004-01-04 Richard Henderson <rth@redhat.com>
189
190 * call.c (build_over_call): Don't create a save_expr of an
191 aggregate, but rather its address.
192
4f8163b1
MM
1932004-01-04 Mark Mitchell <mark@codesourcery.com>
194
955d0234
MM
195 PR c++/13529
196 * parser.c (cp_parser_postfix_expression): Allow "." to appear in
197 an offsetof expression.
198
643aee72
MM
199 * parser.c (cp_parser_parameter_declaration): Fix comment.
200
4f8163b1
MM
201 PR c++/12226
202 * call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
203 (reference_binding): Set it when appropriate.
204 (build_temp): New function, split out from ...
205 (convert_like_real): ... here. Honor CHECK_COPY_CONSTRUCTOR_P.
206 (initialize_reference): Likewise.
207
208 PR c++/13536
209 * parser.c (cp_parser): Add in_type_id_in_expr_p.
210 (cp_parser_new): Initialize it.
211 (cp_parser_postfix_expression): Set it.
212 (cp_parser_sizeof_operand): Likewise.
213 (cp_parser_parameteR_declaration): Do not commit early to tenative
214 parsers when in_type_id_in_expr_p is set.
215
5b4acce1
KL
2162004-01-03 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
217
218 PR c++/13094
219 * parser.c (cp_parser_template_argument): Don't call
220 make_unbound_class_template directly.
221 (cp_parser_lookup_name): Don't extract TEMPLATE_DECL from
222 UNBOUND_CLASS_TEMPLATE tree node.
223
8748dc22
RS
2242004-01-02 Richard Sandiford <rsandifo@redhat.com>
225
226 PR target/12729
227 * method.c (use_thunk): Pass the CALL_EXPR through force_target_expr.
228
b0bc6e8e
KL
2292004-01-02 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
230
231 PR c++/13520
232 * cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): New macro.
233 (DECL_FUNCTION_TEMPLATE_P): Use it.
234 (DECL_CLASS_TEMPLATE_P): Likewise.
235 * parser.c (cp_parser_lookup_name): Add is_template parameter.
236 (cp_parser_type_parameter): Adjust call to cp_parser_lookup_name.
237 (cp_parser_template_name): Likewise.
238 (cp_parser_elaborated_type_specifier): Likewise.
239 (cp_parser_namespace_name): Likewise.
240 (cp_parser_class_name): Likewise.
241 (cp_parser_lookup_name_simple): Likewise.
58496de1 242
837b8417 243See ChangeLog.3 for earlier changes.