OSDN Git Service

1b0b72bc6ddb383ed35ce73a97fcb50a74b999e9
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2010-03-03  Jason Merrill  <jason@redhat.com>
2
3         PR c++/12909
4         * mangle.c: Include cgraph.h.
5         (mangle_decl): If the mangled name will change in a later
6         ABI version, make the later mangled name an alias.
7         * method.c (make_alias_for): Copy DECL_ARGUMENTS.
8         * Make-lang.in (mangle.o): Depend on cgraph.h.
9
10 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
11
12         * pt.c (redeclare_class_template): Use error_n and inform_n.
13
14 2010-02-27  Mark Mitchell  <mark@codesourcery.com>
15
16         PR c++/42748
17         * cp-tree.h (push_tinst_level): Declare.
18         (pop_tinst_level): Likewise.
19         * pt.c (push_tinst_level): Give it external linkage.
20         (pop_tinst_level): Likewise.
21         * mangle.c (mangle_decl_string): Set the source location to that
22         of the decl while mangling.
23
24 2010-02-27  Simon Martin  <simartin@users.sourceforge.net>
25
26         PR c++/42054
27         * pt.c (redeclare_class_template): Return false if there are erroneous
28         template parameters.
29
30 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
31
32         * pt.c (push_tinst_level): Replace -ftemplate-depth- with 
33         -ftemplate-depth=.
34
35 2010-02-24  Jason Merrill  <jason@redhat.com>
36
37         PR c++/12909
38         * mangle.c (write_type): Give -Wabi warning for old vector mangling.
39
40         * class.c (layout_class_type): Don't give -Wabi warning for a bug
41         in a previous ABI version.
42
43 2010-02-23  Jason Merrill  <jason@redhat.com>
44
45         PR c++/43143
46         * typeck2.c (digest_init_r): Accept value init of array.
47
48 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
49
50         PR c++/43126
51         * typeck.c (convert_arguments): Update error message.
52
53 2010-02-22  Mike Stump  <mikestump@comcast.net>
54
55         PR c++/43125
56         * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
57
58 2010-02-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
59
60         PR c++/23510
61         * error.c (print_instantiation_partial_context_line): New.
62         (print_instantiation_partial_context): Print at most 12 contexts,
63         skip the rest with a message.
64
65 2010-02-21  Dodji Seketeli  <dodji@redhat.com>
66
67         PR c++/42824
68         * pt.c (lookup_template_class): Better support of specialization
69         of member of class template implicit instantiation.
70
71 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
72
73         PR c++/35669
74         * call.c (conversion_null_warnings): Replace -Wconversion with
75         -Wconversion-null.
76         * cvt.c (build_expr_type_conversion): Likewise.
77
78 2010-02-18  Jason Merrill  <jason@redhat.com>
79
80         PR c++/42837
81         * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
82
83         PR c++/43108
84         * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
85         C build_binary_op.
86         * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
87         * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
88
89         PR c++/43070
90         * semantics.c (finish_goto_stmt): Don't call decay_conversion.
91
92         PR c++/26261
93         PR c++/43101
94         * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
95         (maybe_update_decl_type): New fn.
96         * parser.c (cp_parser_init_declarator): Use it.
97
98         PR c++/43109
99         * semantics.c (begin_class_definition): Don't crash on unnamed ns.
100
101 2010-02-17  Jason Merrill  <jason@redhat.com>
102
103         PR c++/43075
104         * call.c (build_over_call): Don't create zero-sized assignments.
105         * cp-gimplify.c (cp_genericize_r): Don't remove them here.
106         * cp-objcp-common.c (cp_expr_size): Remove.
107         * cp-tree.h: Remove prototype.
108
109         PR c++/43069
110         * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
111         decl we looked up doesn't match.
112
113         PR c++/43093
114         * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
115         have an INIT_EXPR anymore.
116
117         PR c++/43079
118         * pt.c (convert_nontype_argument): Change assert to test.
119
120 2010-02-16  Jason Merrill  <jason@redhat.com>
121
122         * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
123
124         PR c++/43031
125         * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
126         VIEW_CONVERT_EXPR for conversions between structural equality types
127         that the back end can't tell are the same.
128
129         PR c++/43036
130         * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
131         cv-quals from element here.
132         (cp_build_qualified_type_real): Not here.  Preserve typedef name.
133
134 2010-02-14  Jason Merrill  <jason@redhat.com>
135
136         PR c++/41997
137         * semantics.c (finish_compound_literal): Use
138         cp_apply_type_quals_to_decl when creating a static variable.
139
140 2010-02-12  Jason Merrill  <jason@redhat.com>
141
142         PR c++/43024
143         * name-lookup.h (current_binding_level): Check for null
144         cp_function_chain.
145
146 2010-02-12  Jason Merrill  <jason@redhat.com>
147
148         PR c++/43054
149         * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
150
151 2010-02-12  Jakub Jelinek  <jakub@redhat.com>
152
153         PR c++/43033
154         * name-lookup.c (pushdecl_maybe_friend): Check default args of t
155         instead of x.
156
157 2010-02-10  Jason Merrill  <jason@redhat.com>
158
159         PR c++/41896
160         * semantics.c (outer_lambda_capture_p): Revert.
161         (add_capture): Only finish_member_declaration if
162         we're in the lambda class.
163         (register_capture_members): New.
164         * cp-tree.h: Declare it.
165         * parser.c (cp_parser_lambda_expression): Call it.
166
167 2010-02-10  Jason Merrill  <jason@redhat.com>
168
169         PR c++/41896
170         * semantics.c (outer_lambda_capture_p): Use current_function_decl
171         instead of current_class_type.
172
173 2010-02-10  Jason Merrill  <jason@redhat.com>
174
175         PR c++/42983, core issue 906
176         * method.c (defaultable_fn_check): Check virtualness.
177
178 2010-02-10  Jason Merrill  <jason@redhat.com>
179
180         PR c++/43016
181         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
182
183 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
184
185         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
186         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
187         translation.
188         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
189         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
190         (cp_parser_parameter_declaration)
191         (cp_parser_exception_specification_opt)
192         (cp_parser_exception_declaration): Likewise.
193         * pt.c (check_default_tmpl_args): Likewise.
194         * search.c (lookup_field_r): Likewise.
195
196 2010-02-09  Jason Merrill  <jason@redhat.com>
197
198         PR c++/42399
199         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
200
201 2010-02-09  Jason Merrill  <jason@redhat.com>
202
203         PR c++/42370
204         * decl2.c (change_return_type): New fn.
205         * semantics.c (apply_lambda_return_type): Use it.
206         * cp-tree.h: Declare it.
207
208 2010-02-05  Richard Guenther  <rguenther@suse.de>
209
210         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
211         * cp-lang.c: Include gt-cp-cp-lang.h.
212         * config-lang.in (gtfiles): Add cp/cp-lang.c.
213
214 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
215
216         PR c++/42915
217         * typeck.c (get_template_parms_of_dependent_type): Try getting
218         the template parameters fromt the type itself first.
219
220 2010-02-03  Jason Merrill  <jason@redhat.com>
221
222         PR c++/4926
223         PR c++/38600
224         * mangle.c (write_unqualified_id): Split out from write_expression.
225         (write_unqualified_name): Call it.
226         (write_member_name): Likewise.
227         (write_expression): Support TEMPLATE_ID_EXPR.
228         Disambiguate operator names.
229
230         PR c++/12909
231         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
232         -fabi-version=4.
233
234 2010-02-02  Jason Merrill  <jason@redhat.com>
235
236         PR c++/41090
237         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
238         * optimize.c (clone_body): Remap their initializers when making base
239         variants.
240         (maybe_clone_body): Complain if multiple clones aren't safe.
241
242 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
243
244         PR c++/42758
245         PR c++/42634
246         PR c++/42336
247         PR c++/42797
248         PR c++/42880
249         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
250         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
251         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
252         * pt.c (coerce_template_parms, type_unification_real,
253         expand_template_argument_pack, coerce_template_parameter_pack):
254         Set the non default template args count.
255         (current_template_args): Always set non defaulted
256         template args count when compiled with --enable-checking
257         (tsubst_template_args, type_unification_real): Propagate the non
258         defaulted template args count.
259         * error.c (get_non_default_template_args_count): Renamed
260         count_non_default_template_args into this. Don't calculate the
261         non default template argument count anymore. Use the new
262         accessor macros above to get it.
263         (dump_template_argument_list, dump_type, dump_decl,
264         dump_template_parms): Adjust.
265         * parser.c (cp_parser_template_argument_list): Always set defaulted
266         template args count when compiled with --enable-checking.
267
268 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
269
270         * decl.c (redeclaration_error_message): Wrap the return messages into
271         G_() for easy translation.
272
273 2010-01-28  Jason Merrill  <jason@redhat.com>
274
275         PR c++/42880
276         * semantics.c (begin_class_definition): Don't use type_as_string.
277
278 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
279
280         PR c++/42713
281         PR c++/42820
282         * typeck.c (get_template_parms_of_dependent_type): Factorized
283         this out of incompatible_template_type_parms_p
284         (incompatible_dependent_types_p): Renamed
285         incompatible_template_type_parms_p into this. Make it detect
286         two incompatible dependent typedefs too.
287         (structural_comptypes): Use incompatible_dependent_types_p.
288         * pt.c (get_template_info):
289         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
290
291 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
292             Jason Merrill  <jason@redhat.com>
293
294         * mangle.c (write_type): Mangle transparent record as member type.
295         * semantics.c (begin_class_definition): Recognize decimal classes
296         and set TYPE_TRANSPARENT_AGGR.
297
298 2010-01-20  Jason Merrill  <jason@redhat.com>
299
300         PR c++/42338
301         * mangle.c (write_expression): Handle tree codes that have extra
302         arguments in the middle-end.
303
304 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
305
306         PR c++/42038
307         * except.c (expand_start_catch_block): Deal correctly with
308         do_begin_catch returning error_mark_node.
309
310 2010-01-20  Jason Merrill  <jason@redhat.com>
311
312         PR c++/41788
313         * class.c (layout_class_type): Set packed_maybe_necessary for packed
314         non-PODs.
315
316         PR c++/41920
317         * semantics.c (build_lambda_object): Call mark_used on captured
318         variables.
319
320         PR c++/40750
321         * decl.c (grokdeclarator): Clear type_quals for a member function
322         declared using a typedef.  Don't complain about adding cv-quals
323         to a function typedef in C++0x mode.
324
325 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
326
327         * decl.c (create_array_type_for_decl): Remove set but not used
328         variable error_msg.  Remove break stmts after return stmts.
329
330 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
331
332         * error.c (dump_template_parms, count_non_default_template_args):
333         Revert fix of PR c++/42634.
334
335 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
336
337         PR c++/42634
338         * error.c (dump_template_parms): Use innermost template
339         arguments before calling count_non_default_template_args.
340         (count_non_default_template_args): We are being called with
341         template innermost arguments now. There is no need to ensure
342         that again.
343
344 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
345
346         PR c++/42766
347         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
348
349 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
350
351         PR c++/42697
352         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
353
354 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
355
356         PR c++/42697
357         *pt.c (tsubst_decl): Get the arguments of a specialization from
358         the specialization template, not from the most general template.
359
360 2010-01-16  Jason Merrill  <jason@redhat.com>
361
362         PR c++/42761
363         * semantics.c (finish_decltype_type): Within a template, treat
364         unresolved CALL_EXPR as dependent.
365
366 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
367
368         * error.c (dump_template_parms,count_non_default_template_args):
369         Revert changes of PR c++/42634.
370
371 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
372
373         PR middle-end/42674
374         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
375         functions with noreturn attribute.
376
377 2010-01-14  Jason Merrill  <jason@redhat.com>
378
379         PR c++/42701
380         * call.c (build_new_method_call): Don't free the vec here.
381
382         PR c++/42655
383         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
384
385 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
386
387         PR c++/42634
388         * error.c (dump_template_parms): Use innermost template
389         arguments before calling count_non_default_template_args.
390         (count_non_default_template_args): We are being called with
391         template innermost arguments now. There is no need to ensure
392         that again.
393
394 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
395
396         c++/40155
397         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
398         arguments that were previously deduced.
399
400 2010-01-05  Jason Merrill  <jason@redhat.com>
401
402         * pt.c (unify_pack_expansion): Handle deduction from init-list.
403         * call.c (build_over_call): Don't complain about it.
404
405 2010-01-04  Jason Merrill  <jason@redhat.com>
406
407         PR c++/42555
408         * pt.c (tsubst_decl): Don't apply type attributes in place.
409
410         PR c++/42567
411         * semantics.c (describable_type): Remove decltype comment and
412         semantics.
413
414
415 \f
416 Copyright (C) 2010 Free Software Foundation, Inc.
417
418 Copying and distribution of this file, with or without modification,
419 are permitted in any medium without royalty provided the copyright
420 notice and this notice are preserved.