Merge from mainline (154736:156693)
[official-gcc/graphite-test-results.git] / gcc / cp / ChangeLog
blobf42f59e5ce6d2c0662abb1ac5cdc7d8090507e21
1 2010-02-10  Jason Merrill  <jason@redhat.com>
3         PR c++/41896
4         * semantics.c (outer_lambda_capture_p): Revert.
5         (add_capture): Only finish_member_declaration if
6         we're in the lambda class.
7         (register_capture_members): New.
8         * cp-tree.h: Declare it.
9         * parser.c (cp_parser_lambda_expression): Call it.
11 2010-02-10  Jason Merrill  <jason@redhat.com>
13         PR c++/41896
14         * semantics.c (outer_lambda_capture_p): Use current_function_decl
15         instead of current_class_type.
17 2010-02-10  Jason Merrill  <jason@redhat.com>
19         PR c++/42983, core issue 906
20         * method.c (defaultable_fn_check): Check virtualness.
22 2010-02-10  Jason Merrill  <jason@redhat.com>
24         PR c++/43016
25         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
27 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
29         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
30         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
31         translation.
32         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
33         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
34         (cp_parser_parameter_declaration)
35         (cp_parser_exception_specification_opt)
36         (cp_parser_exception_declaration): Likewise.
37         * pt.c (check_default_tmpl_args): Likewise.
38         * search.c (lookup_field_r): Likewise.
40 2010-02-09  Jason Merrill  <jason@redhat.com>
42         PR c++/42399
43         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
45 2010-02-09  Jason Merrill  <jason@redhat.com>
47         PR c++/42370
48         * decl2.c (change_return_type): New fn.
49         * semantics.c (apply_lambda_return_type): Use it.
50         * cp-tree.h: Declare it.
52 2010-02-05  Richard Guenther  <rguenther@suse.de>
54         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
55         * cp-lang.c: Include gt-cp-cp-lang.h.
56         * config-lang.in (gtfiles): Add cp/cp-lang.c.
58 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
60         PR c++/42915
61         * typeck.c (get_template_parms_of_dependent_type): Try getting
62         the template parameters fromt the type itself first.
64 2010-02-03  Jason Merrill  <jason@redhat.com>
66         PR c++/4926
67         PR c++/38600
68         * mangle.c (write_unqualified_id): Split out from write_expression.
69         (write_unqualified_name): Call it.
70         (write_member_name): Likewise.
71         (write_expression): Support TEMPLATE_ID_EXPR.
72         Disambiguate operator names.
74         PR c++/12909
75         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
76         -fabi-version=4.
78 2010-02-02  Jason Merrill  <jason@redhat.com>
80         PR c++/41090
81         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
82         * optimize.c (clone_body): Remap their initializers when making base
83         variants.
84         (maybe_clone_body): Complain if multiple clones aren't safe.
86 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
88         PR c++/42758
89         PR c++/42634
90         PR c++/42336
91         PR c++/42797
92         PR c++/42880
93         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
94         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
95         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
96         * pt.c (coerce_template_parms, type_unification_real,
97         expand_template_argument_pack, coerce_template_parameter_pack):
98         Set the non default template args count.
99         (current_template_args): Always set non defaulted
100         template args count when compiled with --enable-checking
101         (tsubst_template_args, type_unification_real): Propagate the non
102         defaulted template args count.
103         * error.c (get_non_default_template_args_count): Renamed
104         count_non_default_template_args into this. Don't calculate the
105         non default template argument count anymore. Use the new
106         accessor macros above to get it.
107         (dump_template_argument_list, dump_type, dump_decl,
108         dump_template_parms): Adjust.
109         * parser.c (cp_parser_template_argument_list): Always set defaulted
110         template args count when compiled with --enable-checking.
112 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
114         * decl.c (redeclaration_error_message): Wrap the return messages into
115         G_() for easy translation.
117 2010-01-28  Jason Merrill  <jason@redhat.com>
119         PR c++/42880
120         * semantics.c (begin_class_definition): Don't use type_as_string.
122 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
124         PR c++/42713
125         PR c++/42820
126         * typeck.c (get_template_parms_of_dependent_type): Factorized
127         this out of incompatible_template_type_parms_p
128         (incompatible_dependent_types_p): Renamed
129         incompatible_template_type_parms_p into this. Make it detect
130         two incompatible dependent typedefs too.
131         (structural_comptypes): Use incompatible_dependent_types_p.
132         * pt.c (get_template_info):
133         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
135 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
136             Jason Merrill  <jason@redhat.com>
138         * mangle.c (write_type): Mangle transparent record as member type.
139         * semantics.c (begin_class_definition): Recognize decimal classes
140         and set TYPE_TRANSPARENT_AGGR.
142 2010-01-20  Jason Merrill  <jason@redhat.com>
144         PR c++/42338
145         * mangle.c (write_expression): Handle tree codes that have extra
146         arguments in the middle-end.
148 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
150         PR c++/42038
151         * except.c (expand_start_catch_block): Deal correctly with
152         do_begin_catch returning error_mark_node.
154 2010-01-20  Jason Merrill  <jason@redhat.com>
156         PR c++/41788
157         * class.c (layout_class_type): Set packed_maybe_necessary for packed
158         non-PODs.
160         PR c++/41920
161         * semantics.c (build_lambda_object): Call mark_used on captured
162         variables.
164         PR c++/40750
165         * decl.c (grokdeclarator): Clear type_quals for a member function
166         declared using a typedef.  Don't complain about adding cv-quals
167         to a function typedef in C++0x mode.
169 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
171         * decl.c (create_array_type_for_decl): Remove set but not used
172         variable error_msg.  Remove break stmts after return stmts.
174 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
176         * error.c (dump_template_parms, count_non_default_template_args):
177         Revert fix of PR c++/42634.
179 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
181         PR c++/42634
182         * error.c (dump_template_parms): Use innermost template
183         arguments before calling count_non_default_template_args.
184         (count_non_default_template_args): We are being called with
185         template innermost arguments now. There is no need to ensure
186         that again.
188 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
190         PR c++/42766
191         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
193 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
195         PR c++/42697
196         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
198 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
200         PR c++/42697
201         *pt.c (tsubst_decl): Get the arguments of a specialization from
202         the specialization template, not from the most general template.
204 2010-01-16  Jason Merrill  <jason@redhat.com>
206         PR c++/42761
207         * semantics.c (finish_decltype_type): Within a template, treat
208         unresolved CALL_EXPR as dependent.
210 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
212         * error.c (dump_template_parms,count_non_default_template_args):
213         Revert changes of PR c++/42634.
215 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
217         PR middle-end/42674
218         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
219         functions with noreturn attribute.
221 2010-01-14  Jason Merrill  <jason@redhat.com>
223         PR c++/42701
224         * call.c (build_new_method_call): Don't free the vec here.
226         PR c++/42655
227         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
229 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
231         PR c++/42634
232         * error.c (dump_template_parms): Use innermost template
233         arguments before calling count_non_default_template_args.
234         (count_non_default_template_args): We are being called with
235         template innermost arguments now. There is no need to ensure
236         that again.
238 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
240         c++/40155
241         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
242         arguments that were previously deduced.
244 2010-01-05  Jason Merrill  <jason@redhat.com>
246         * pt.c (unify_pack_expansion): Handle deduction from init-list.
247         * call.c (build_over_call): Don't complain about it.
249 2010-01-04  Jason Merrill  <jason@redhat.com>
251         PR c++/42555
252         * pt.c (tsubst_decl): Don't apply type attributes in place.
254         PR c++/42567
255         * semantics.c (describable_type): Remove decltype comment and
256         semantics.
260 Copyright (C) 2010 Free Software Foundation, Inc.
262 Copying and distribution of this file, with or without modification,
263 are permitted in any medium without royalty provided the copyright
264 notice and this notice are preserved.