OSDN Git Service

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