OSDN Git Service

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