OSDN Git Service

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