]> gcc.gnu.org Git - gcc.git/blob - gcc/cp/ChangeLog
Merge DECL_PRESERVE_P for C++.
[gcc.git] / gcc / cp / ChangeLog
1 2010-02-22 Mike Stump <mikestump@comcast.net>
2
3 PR c++/43125
4 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
5
6 2010-02-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
7
8 PR c++/23510
9 * error.c (print_instantiation_partial_context_line): New.
10 (print_instantiation_partial_context): Print at most 12 contexts,
11 skip the rest with a message.
12
13 2010-02-21 Dodji Seketeli <dodji@redhat.com>
14
15 PR c++/42824
16 * pt.c (lookup_template_class): Better support of specialization
17 of member of class template implicit instantiation.
18
19 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
20
21 PR c++/35669
22 * call.c (conversion_null_warnings): Replace -Wconversion with
23 -Wconversion-null.
24 * cvt.c (build_expr_type_conversion): Likewise.
25
26 2010-02-18 Jason Merrill <jason@redhat.com>
27
28 PR c++/42837
29 * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
30
31 PR c++/43108
32 * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
33 C build_binary_op.
34 * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
35 * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
36
37 PR c++/43070
38 * semantics.c (finish_goto_stmt): Don't call decay_conversion.
39
40 PR c++/26261
41 PR c++/43101
42 * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
43 (maybe_update_decl_type): New fn.
44 * parser.c (cp_parser_init_declarator): Use it.
45
46 PR c++/43109
47 * semantics.c (begin_class_definition): Don't crash on unnamed ns.
48
49 2010-02-17 Jason Merrill <jason@redhat.com>
50
51 PR c++/43075
52 * call.c (build_over_call): Don't create zero-sized assignments.
53 * cp-gimplify.c (cp_genericize_r): Don't remove them here.
54 * cp-objcp-common.c (cp_expr_size): Remove.
55 * cp-tree.h: Remove prototype.
56
57 PR c++/43069
58 * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
59 decl we looked up doesn't match.
60
61 PR c++/43093
62 * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
63 have an INIT_EXPR anymore.
64
65 PR c++/43079
66 * pt.c (convert_nontype_argument): Change assert to test.
67
68 2010-02-16 Jason Merrill <jason@redhat.com>
69
70 * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
71
72 PR c++/43031
73 * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
74 VIEW_CONVERT_EXPR for conversions between structural equality types
75 that the back end can't tell are the same.
76
77 PR c++/43036
78 * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
79 cv-quals from element here.
80 (cp_build_qualified_type_real): Not here. Preserve typedef name.
81
82 2010-02-14 Jason Merrill <jason@redhat.com>
83
84 PR c++/41997
85 * semantics.c (finish_compound_literal): Use
86 cp_apply_type_quals_to_decl when creating a static variable.
87
88 2010-02-12 Jason Merrill <jason@redhat.com>
89
90 PR c++/43024
91 * name-lookup.h (current_binding_level): Check for null
92 cp_function_chain.
93
94 2010-02-12 Jason Merrill <jason@redhat.com>
95
96 PR c++/43054
97 * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
98
99 2010-02-12 Jakub Jelinek <jakub@redhat.com>
100
101 PR c++/43033
102 * name-lookup.c (pushdecl_maybe_friend): Check default args of t
103 instead of x.
104
105 2010-02-10 Jason Merrill <jason@redhat.com>
106
107 PR c++/41896
108 * semantics.c (outer_lambda_capture_p): Revert.
109 (add_capture): Only finish_member_declaration if
110 we're in the lambda class.
111 (register_capture_members): New.
112 * cp-tree.h: Declare it.
113 * parser.c (cp_parser_lambda_expression): Call it.
114
115 2010-02-10 Jason Merrill <jason@redhat.com>
116
117 PR c++/41896
118 * semantics.c (outer_lambda_capture_p): Use current_function_decl
119 instead of current_class_type.
120
121 2010-02-10 Jason Merrill <jason@redhat.com>
122
123 PR c++/42983, core issue 906
124 * method.c (defaultable_fn_check): Check virtualness.
125
126 2010-02-10 Jason Merrill <jason@redhat.com>
127
128 PR c++/43016
129 * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
130
131 2010-02-10 Shujing Zhao <pearly.zhao@oracle.com>
132
133 * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
134 * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
135 translation.
136 * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
137 (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
138 (cp_parser_parameter_declaration)
139 (cp_parser_exception_specification_opt)
140 (cp_parser_exception_declaration): Likewise.
141 * pt.c (check_default_tmpl_args): Likewise.
142 * search.c (lookup_field_r): Likewise.
143
144 2010-02-09 Jason Merrill <jason@redhat.com>
145
146 PR c++/42399
147 * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
148
149 2010-02-09 Jason Merrill <jason@redhat.com>
150
151 PR c++/42370
152 * decl2.c (change_return_type): New fn.
153 * semantics.c (apply_lambda_return_type): Use it.
154 * cp-tree.h: Declare it.
155
156 2010-02-05 Richard Guenther <rguenther@suse.de>
157
158 * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
159 * cp-lang.c: Include gt-cp-cp-lang.h.
160 * config-lang.in (gtfiles): Add cp/cp-lang.c.
161
162 2010-02-05 Dodji Seketeli <dodji@redhat.com>
163
164 PR c++/42915
165 * typeck.c (get_template_parms_of_dependent_type): Try getting
166 the template parameters fromt the type itself first.
167
168 2010-02-03 Jason Merrill <jason@redhat.com>
169
170 PR c++/4926
171 PR c++/38600
172 * mangle.c (write_unqualified_id): Split out from write_expression.
173 (write_unqualified_name): Call it.
174 (write_member_name): Likewise.
175 (write_expression): Support TEMPLATE_ID_EXPR.
176 Disambiguate operator names.
177
178 PR c++/12909
179 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
180 -fabi-version=4.
181
182 2010-02-02 Jason Merrill <jason@redhat.com>
183
184 PR c++/41090
185 * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
186 * optimize.c (clone_body): Remap their initializers when making base
187 variants.
188 (maybe_clone_body): Complain if multiple clones aren't safe.
189
190 2010-01-29 Dodji Seketeli <dodji@redhat.com>
191
192 PR c++/42758
193 PR c++/42634
194 PR c++/42336
195 PR c++/42797
196 PR c++/42880
197 * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
198 SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
199 GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
200 * pt.c (coerce_template_parms, type_unification_real,
201 expand_template_argument_pack, coerce_template_parameter_pack):
202 Set the non default template args count.
203 (current_template_args): Always set non defaulted
204 template args count when compiled with --enable-checking
205 (tsubst_template_args, type_unification_real): Propagate the non
206 defaulted template args count.
207 * error.c (get_non_default_template_args_count): Renamed
208 count_non_default_template_args into this. Don't calculate the
209 non default template argument count anymore. Use the new
210 accessor macros above to get it.
211 (dump_template_argument_list, dump_type, dump_decl,
212 dump_template_parms): Adjust.
213 * parser.c (cp_parser_template_argument_list): Always set defaulted
214 template args count when compiled with --enable-checking.
215
216 2010-01-29 Shujing Zhao <pearly.zhao@oracle.com>
217
218 * decl.c (redeclaration_error_message): Wrap the return messages into
219 G_() for easy translation.
220
221 2010-01-28 Jason Merrill <jason@redhat.com>
222
223 PR c++/42880
224 * semantics.c (begin_class_definition): Don't use type_as_string.
225
226 2010-01-28 Dodji Seketeli <dodji@redhat.com>
227
228 PR c++/42713
229 PR c++/42820
230 * typeck.c (get_template_parms_of_dependent_type): Factorized
231 this out of incompatible_template_type_parms_p
232 (incompatible_dependent_types_p): Renamed
233 incompatible_template_type_parms_p into this. Make it detect
234 two incompatible dependent typedefs too.
235 (structural_comptypes): Use incompatible_dependent_types_p.
236 * pt.c (get_template_info):
237 Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
238
239 2010-01-20 Janis Johnson <janis187@us.ibm.com>
240 Jason Merrill <jason@redhat.com>
241
242 * mangle.c (write_type): Mangle transparent record as member type.
243 * semantics.c (begin_class_definition): Recognize decimal classes
244 and set TYPE_TRANSPARENT_AGGR.
245
246 2010-01-20 Jason Merrill <jason@redhat.com>
247
248 PR c++/42338
249 * mangle.c (write_expression): Handle tree codes that have extra
250 arguments in the middle-end.
251
252 2010-01-20 Paolo Carlini <paolo.carlini@oracle.com>
253
254 PR c++/42038
255 * except.c (expand_start_catch_block): Deal correctly with
256 do_begin_catch returning error_mark_node.
257
258 2010-01-20 Jason Merrill <jason@redhat.com>
259
260 PR c++/41788
261 * class.c (layout_class_type): Set packed_maybe_necessary for packed
262 non-PODs.
263
264 PR c++/41920
265 * semantics.c (build_lambda_object): Call mark_used on captured
266 variables.
267
268 PR c++/40750
269 * decl.c (grokdeclarator): Clear type_quals for a member function
270 declared using a typedef. Don't complain about adding cv-quals
271 to a function typedef in C++0x mode.
272
273 2010-01-20 Jakub Jelinek <jakub@redhat.com>
274
275 * decl.c (create_array_type_for_decl): Remove set but not used
276 variable error_msg. Remove break stmts after return stmts.
277
278 2010-01-19 Dodji Seketeli <dodji@redhat.com>
279
280 * error.c (dump_template_parms, count_non_default_template_args):
281 Revert fix of PR c++/42634.
282
283 2010-01-18 Dodji Seketeli <dodji@redhat.com>
284
285 PR c++/42634
286 * error.c (dump_template_parms): Use innermost template
287 arguments before calling count_non_default_template_args.
288 (count_non_default_template_args): We are being called with
289 template innermost arguments now. There is no need to ensure
290 that again.
291
292 2010-01-18 Dodji Seketeli <dodji@redhat.com>
293
294 PR c++/42766
295 * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
296
297 2010-01-17 Dodji Seketeli <dodji@redhat.com>
298
299 PR c++/42697
300 *pt.c (tsubst_decl): Revert commit for PR c++/42697.
301
302 2010-01-17 Dodji Seketeli <dodji@redhat.com>
303
304 PR c++/42697
305 *pt.c (tsubst_decl): Get the arguments of a specialization from
306 the specialization template, not from the most general template.
307
308 2010-01-16 Jason Merrill <jason@redhat.com>
309
310 PR c++/42761
311 * semantics.c (finish_decltype_type): Within a template, treat
312 unresolved CALL_EXPR as dependent.
313
314 2010-01-15 Dodji Seketeli <dodji@redhat.com>
315
316 * error.c (dump_template_parms,count_non_default_template_args):
317 Revert changes of PR c++/42634.
318
319 2010-01-14 Jakub Jelinek <jakub@redhat.com>
320
321 PR middle-end/42674
322 * decl.c (finish_function): Don't emit -Wreturn-type warnings in
323 functions with noreturn attribute.
324
325 2010-01-14 Jason Merrill <jason@redhat.com>
326
327 PR c++/42701
328 * call.c (build_new_method_call): Don't free the vec here.
329
330 PR c++/42655
331 * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
332
333 2010-01-13 Dodji Seketeli <dodji@redhat.com>
334
335 PR c++/42634
336 * error.c (dump_template_parms): Use innermost template
337 arguments before calling count_non_default_template_args.
338 (count_non_default_template_args): We are being called with
339 template innermost arguments now. There is no need to ensure
340 that again.
341
342 2010-01-07 Dodji Seketeli <dodji@redhat.com>
343
344 c++/40155
345 * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
346 arguments that were previously deduced.
347
348 2010-01-05 Jason Merrill <jason@redhat.com>
349
350 * pt.c (unify_pack_expansion): Handle deduction from init-list.
351 * call.c (build_over_call): Don't complain about it.
352
353 2010-01-04 Jason Merrill <jason@redhat.com>
354
355 PR c++/42555
356 * pt.c (tsubst_decl): Don't apply type attributes in place.
357
358 PR c++/42567
359 * semantics.c (describable_type): Remove decltype comment and
360 semantics.
361
362
363 \f
364 Copyright (C) 2010 Free Software Foundation, Inc.
365
366 Copying and distribution of this file, with or without modification,
367 are permitted in any medium without royalty provided the copyright
368 notice and this notice are preserved.
This page took 0.051326 seconds and 5 git commands to generate.