OSDN Git Service

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