OSDN Git Service

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