OSDN Git Service

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