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