OSDN Git Service

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