OSDN Git Service

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