OSDN Git Service

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