Add missing ChangeLog entries.
[official-gcc.git] / gcc / cp / ChangeLog
bloba908e425f8db8b0ec509b4ff672902dd17ebb3f2
1 2010-03-05  Jason Merrill  <jason@redhat.com>
3         * mangle.c (mangle_decl): Give name collision error even without
4         ASM_OUTPUT_DEF.
6 2010-03-04  Marco Poletti  <poletti.marco@gmail.com>
8         * pt.c (process_partial_specialization): Use error_n instead of
9         error.
11 2010-03-03  Jason Merrill  <jason@redhat.com>
13         PR c++/12909
14         * mangle.c (mangle_decl): Handle VAR_DECL, too.
16 2010-03-03  Jason Merrill  <jason@redhat.com>
18         PR c++/12909
19         * mangle.c: Include cgraph.h.
20         (mangle_decl): If the mangled name will change in a later
21         ABI version, make the later mangled name an alias.
22         * method.c (make_alias_for): Copy DECL_ARGUMENTS.
23         * Make-lang.in (mangle.o): Depend on cgraph.h.
24         * method.c (make_alias_for): Handle VAR_DECL, too.
25         * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
26         * tree.c (no_linkage_check): Adjust.
27         * decl.c (maybe_commonize_var): Adjust.
28         * cp-tree.h: Adjust.
30 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
32         * pt.c (redeclare_class_template): Use error_n and inform_n.
34 2010-02-27  Mark Mitchell  <mark@codesourcery.com>
36         PR c++/42748
37         * cp-tree.h (push_tinst_level): Declare.
38         (pop_tinst_level): Likewise.
39         * pt.c (push_tinst_level): Give it external linkage.
40         (pop_tinst_level): Likewise.
41         * mangle.c (mangle_decl_string): Set the source location to that
42         of the decl while mangling.
44 2010-02-27  Simon Martin  <simartin@users.sourceforge.net>
46         PR c++/42054
47         * pt.c (redeclare_class_template): Return false if there are erroneous
48         template parameters.
50 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
52         * pt.c (push_tinst_level): Replace -ftemplate-depth- with 
53         -ftemplate-depth=.
55 2010-02-24  Jason Merrill  <jason@redhat.com>
57         PR c++/12909
58         * mangle.c (write_type): Give -Wabi warning for old vector mangling.
60         * class.c (layout_class_type): Don't give -Wabi warning for a bug
61         in a previous ABI version.
63 2010-02-23  Jason Merrill  <jason@redhat.com>
65         PR c++/43143
66         * typeck2.c (digest_init_r): Accept value init of array.
68 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
70         PR c++/43126
71         * typeck.c (convert_arguments): Update error message.
73 2010-02-22  Mike Stump  <mikestump@comcast.net>
75         PR c++/43125
76         * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
78 2010-02-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
80         PR c++/23510
81         * error.c (print_instantiation_partial_context_line): New.
82         (print_instantiation_partial_context): Print at most 12 contexts,
83         skip the rest with a message.
85 2010-02-21  Dodji Seketeli  <dodji@redhat.com>
87         PR c++/42824
88         * pt.c (lookup_template_class): Better support of specialization
89         of member of class template implicit instantiation.
91 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
93         PR c++/35669
94         * call.c (conversion_null_warnings): Replace -Wconversion with
95         -Wconversion-null.
96         * cvt.c (build_expr_type_conversion): Likewise.
98 2010-02-18  Jason Merrill  <jason@redhat.com>
100         PR c++/42837
101         * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
103         PR c++/43108
104         * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
105         C build_binary_op.
106         * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
107         * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
109         PR c++/43070
110         * semantics.c (finish_goto_stmt): Don't call decay_conversion.
112         PR c++/26261
113         PR c++/43101
114         * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
115         (maybe_update_decl_type): New fn.
116         * parser.c (cp_parser_init_declarator): Use it.
118         PR c++/43109
119         * semantics.c (begin_class_definition): Don't crash on unnamed ns.
121 2010-02-17  Jason Merrill  <jason@redhat.com>
123         PR c++/43075
124         * call.c (build_over_call): Don't create zero-sized assignments.
125         * cp-gimplify.c (cp_genericize_r): Don't remove them here.
126         * cp-objcp-common.c (cp_expr_size): Remove.
127         * cp-tree.h: Remove prototype.
129         PR c++/43069
130         * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
131         decl we looked up doesn't match.
133         PR c++/43093
134         * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
135         have an INIT_EXPR anymore.
137         PR c++/43079
138         * pt.c (convert_nontype_argument): Change assert to test.
140 2010-02-16  Jason Merrill  <jason@redhat.com>
142         * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
144         PR c++/43031
145         * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
146         VIEW_CONVERT_EXPR for conversions between structural equality types
147         that the back end can't tell are the same.
149         PR c++/43036
150         * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
151         cv-quals from element here.
152         (cp_build_qualified_type_real): Not here.  Preserve typedef name.
154 2010-02-14  Jason Merrill  <jason@redhat.com>
156         PR c++/41997
157         * semantics.c (finish_compound_literal): Use
158         cp_apply_type_quals_to_decl when creating a static variable.
160 2010-02-12  Jason Merrill  <jason@redhat.com>
162         PR c++/43024
163         * name-lookup.h (current_binding_level): Check for null
164         cp_function_chain.
166 2010-02-12  Jason Merrill  <jason@redhat.com>
168         PR c++/43054
169         * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
171 2010-02-12  Jakub Jelinek  <jakub@redhat.com>
173         PR c++/43033
174         * name-lookup.c (pushdecl_maybe_friend): Check default args of t
175         instead of x.
177 2010-02-10  Jason Merrill  <jason@redhat.com>
179         PR c++/41896
180         * semantics.c (outer_lambda_capture_p): Revert.
181         (add_capture): Only finish_member_declaration if
182         we're in the lambda class.
183         (register_capture_members): New.
184         * cp-tree.h: Declare it.
185         * parser.c (cp_parser_lambda_expression): Call it.
187 2010-02-10  Jason Merrill  <jason@redhat.com>
189         PR c++/41896
190         * semantics.c (outer_lambda_capture_p): Use current_function_decl
191         instead of current_class_type.
193 2010-02-10  Jason Merrill  <jason@redhat.com>
195         PR c++/42983, core issue 906
196         * method.c (defaultable_fn_check): Check virtualness.
198 2010-02-10  Jason Merrill  <jason@redhat.com>
200         PR c++/43016
201         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
203 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
205         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
206         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
207         translation.
208         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
209         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
210         (cp_parser_parameter_declaration)
211         (cp_parser_exception_specification_opt)
212         (cp_parser_exception_declaration): Likewise.
213         * pt.c (check_default_tmpl_args): Likewise.
214         * search.c (lookup_field_r): Likewise.
216 2010-02-09  Jason Merrill  <jason@redhat.com>
218         PR c++/42399
219         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
221 2010-02-09  Jason Merrill  <jason@redhat.com>
223         PR c++/42370
224         * decl2.c (change_return_type): New fn.
225         * semantics.c (apply_lambda_return_type): Use it.
226         * cp-tree.h: Declare it.
228 2010-02-05  Richard Guenther  <rguenther@suse.de>
230         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
231         * cp-lang.c: Include gt-cp-cp-lang.h.
232         * config-lang.in (gtfiles): Add cp/cp-lang.c.
234 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
236         PR c++/42915
237         * typeck.c (get_template_parms_of_dependent_type): Try getting
238         the template parameters fromt the type itself first.
240 2010-02-03  Jason Merrill  <jason@redhat.com>
242         PR c++/4926
243         PR c++/38600
244         * mangle.c (write_unqualified_id): Split out from write_expression.
245         (write_unqualified_name): Call it.
246         (write_member_name): Likewise.
247         (write_expression): Support TEMPLATE_ID_EXPR.
248         Disambiguate operator names.
250         PR c++/12909
251         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
252         -fabi-version=4.
254 2010-02-02  Jason Merrill  <jason@redhat.com>
256         PR c++/41090
257         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
258         * optimize.c (clone_body): Remap their initializers when making base
259         variants.
260         (maybe_clone_body): Complain if multiple clones aren't safe.
262 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
264         PR c++/42758
265         PR c++/42634
266         PR c++/42336
267         PR c++/42797
268         PR c++/42880
269         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
270         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
271         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
272         * pt.c (coerce_template_parms, type_unification_real,
273         expand_template_argument_pack, coerce_template_parameter_pack):
274         Set the non default template args count.
275         (current_template_args): Always set non defaulted
276         template args count when compiled with --enable-checking
277         (tsubst_template_args, type_unification_real): Propagate the non
278         defaulted template args count.
279         * error.c (get_non_default_template_args_count): Renamed
280         count_non_default_template_args into this. Don't calculate the
281         non default template argument count anymore. Use the new
282         accessor macros above to get it.
283         (dump_template_argument_list, dump_type, dump_decl,
284         dump_template_parms): Adjust.
285         * parser.c (cp_parser_template_argument_list): Always set defaulted
286         template args count when compiled with --enable-checking.
288 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
290         * decl.c (redeclaration_error_message): Wrap the return messages into
291         G_() for easy translation.
293 2010-01-28  Jason Merrill  <jason@redhat.com>
295         PR c++/42880
296         * semantics.c (begin_class_definition): Don't use type_as_string.
298 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
300         PR c++/42713
301         PR c++/42820
302         * typeck.c (get_template_parms_of_dependent_type): Factorized
303         this out of incompatible_template_type_parms_p
304         (incompatible_dependent_types_p): Renamed
305         incompatible_template_type_parms_p into this. Make it detect
306         two incompatible dependent typedefs too.
307         (structural_comptypes): Use incompatible_dependent_types_p.
308         * pt.c (get_template_info):
309         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
311 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
312             Jason Merrill  <jason@redhat.com>
314         * mangle.c (write_type): Mangle transparent record as member type.
315         * semantics.c (begin_class_definition): Recognize decimal classes
316         and set TYPE_TRANSPARENT_AGGR.
318 2010-01-20  Jason Merrill  <jason@redhat.com>
320         PR c++/42338
321         * mangle.c (write_expression): Handle tree codes that have extra
322         arguments in the middle-end.
324 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
326         PR c++/42038
327         * except.c (expand_start_catch_block): Deal correctly with
328         do_begin_catch returning error_mark_node.
330 2010-01-20  Jason Merrill  <jason@redhat.com>
332         PR c++/41788
333         * class.c (layout_class_type): Set packed_maybe_necessary for packed
334         non-PODs.
336         PR c++/41920
337         * semantics.c (build_lambda_object): Call mark_used on captured
338         variables.
340         PR c++/40750
341         * decl.c (grokdeclarator): Clear type_quals for a member function
342         declared using a typedef.  Don't complain about adding cv-quals
343         to a function typedef in C++0x mode.
345 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
347         * decl.c (create_array_type_for_decl): Remove set but not used
348         variable error_msg.  Remove break stmts after return stmts.
350 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
352         * error.c (dump_template_parms, count_non_default_template_args):
353         Revert fix of PR c++/42634.
355 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
357         PR c++/42634
358         * error.c (dump_template_parms): Use innermost template
359         arguments before calling count_non_default_template_args.
360         (count_non_default_template_args): We are being called with
361         template innermost arguments now. There is no need to ensure
362         that again.
364 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
366         PR c++/42766
367         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
369 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
371         PR c++/42697
372         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
374 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
376         PR c++/42697
377         *pt.c (tsubst_decl): Get the arguments of a specialization from
378         the specialization template, not from the most general template.
380 2010-01-16  Jason Merrill  <jason@redhat.com>
382         PR c++/42761
383         * semantics.c (finish_decltype_type): Within a template, treat
384         unresolved CALL_EXPR as dependent.
386 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
388         * error.c (dump_template_parms,count_non_default_template_args):
389         Revert changes of PR c++/42634.
391 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
393         PR middle-end/42674
394         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
395         functions with noreturn attribute.
397 2010-01-14  Jason Merrill  <jason@redhat.com>
399         PR c++/42701
400         * call.c (build_new_method_call): Don't free the vec here.
402         PR c++/42655
403         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
405 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
407         PR c++/42634
408         * error.c (dump_template_parms): Use innermost template
409         arguments before calling count_non_default_template_args.
410         (count_non_default_template_args): We are being called with
411         template innermost arguments now. There is no need to ensure
412         that again.
414 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
416         c++/40155
417         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
418         arguments that were previously deduced.
420 2010-01-05  Jason Merrill  <jason@redhat.com>
422         * pt.c (unify_pack_expansion): Handle deduction from init-list.
423         * call.c (build_over_call): Don't complain about it.
425 2010-01-04  Jason Merrill  <jason@redhat.com>
427         PR c++/42555
428         * pt.c (tsubst_decl): Don't apply type attributes in place.
430         PR c++/42567
431         * semantics.c (describable_type): Remove decltype comment and
432         semantics.
436 Copyright (C) 2010 Free Software Foundation, Inc.
438 Copying and distribution of this file, with or without modification,
439 are permitted in any medium without royalty provided the copyright
440 notice and this notice are preserved.