1 |
283 |
jeremybenn |
2010-07-31 Release Manager
|
2 |
|
|
|
3 |
|
|
* GCC 4.5.1 released.
|
4 |
|
|
|
5 |
|
|
2010-07-23 Jason Merrill
|
6 |
|
|
|
7 |
|
|
PR c++/43016
|
8 |
|
|
PR c++/45008
|
9 |
|
|
* decl.c (start_preparsed_function): Do defer nested functions.
|
10 |
|
|
|
11 |
|
|
2010-07-19 Jason Merrill
|
12 |
|
|
|
13 |
|
|
PR c++/44996
|
14 |
|
|
* semantics.c (finish_decltype_type): Correct decltype
|
15 |
|
|
of parenthesized rvalue reference variable.
|
16 |
|
|
|
17 |
|
|
2010-07-08 Jason Merrill
|
18 |
|
|
|
19 |
|
|
PR c++/44703
|
20 |
|
|
* call.c (is_std_init_list): Look through typedefs.
|
21 |
|
|
|
22 |
|
|
2010-07-02 Paolo Carlini
|
23 |
|
|
|
24 |
|
|
PR c++/44039
|
25 |
|
|
* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
|
26 |
|
|
returns NULL_TREE.
|
27 |
|
|
|
28 |
|
|
2010-06-30 Paolo Carlini
|
29 |
|
|
|
30 |
|
|
PR c++/44628
|
31 |
|
|
* typeck.c (cp_build_unary_op): Early return error_mark_node when
|
32 |
|
|
arg is NULL_TREE too.
|
33 |
|
|
* call.c (convert_class_to_reference): Return error_mark_node when
|
34 |
|
|
expr is NULL_TREE.
|
35 |
|
|
|
36 |
|
|
2010-06-29 Jason Merrill
|
37 |
|
|
|
38 |
|
|
PR c++/44587
|
39 |
|
|
* pt.c (has_value_dependent_address): New.
|
40 |
|
|
(value_dependent_expression_p): Check it.
|
41 |
|
|
(convert_nontype_argument): Likewise. Call decay_conversion before
|
42 |
|
|
folding if we want a pointer.
|
43 |
|
|
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
|
44 |
|
|
scope is the current instantiation.
|
45 |
|
|
|
46 |
|
|
2010-06-22 Jakub Jelinek
|
47 |
|
|
|
48 |
|
|
PR c++/44627
|
49 |
|
|
* error.c (dump_expr): Don't look at CALL_EXPR_ARG (t, 0) if
|
50 |
|
|
the CALL_EXPR has no arguments.
|
51 |
|
|
|
52 |
|
|
2010-06-07 Jason Merrill
|
53 |
|
|
|
54 |
|
|
PR c++/44366
|
55 |
|
|
* error.c (dump_simple_decl): Don't print the scope of a
|
56 |
|
|
PARM_DECL.
|
57 |
|
|
|
58 |
|
|
2010-06-07 Jason Merrill
|
59 |
|
|
|
60 |
|
|
PR c++/44401
|
61 |
|
|
* parser.c (cp_parser_lookup_name): Fix naming the constructor.
|
62 |
|
|
|
63 |
|
|
2010-06-01 Jason Merrill
|
64 |
|
|
|
65 |
|
|
PR c++/44358
|
66 |
|
|
* call.c (build_list_conv): Set list-initialization flags properly.
|
67 |
|
|
|
68 |
|
|
2010-05-27 Jason Merrill
|
69 |
|
|
|
70 |
|
|
PR c++/43555
|
71 |
|
|
* decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
|
72 |
|
|
anonymous VLA size.
|
73 |
|
|
|
74 |
|
|
2010-05-26 Jason Merrill
|
75 |
|
|
|
76 |
|
|
PR c++/43382
|
77 |
|
|
* pt.c (tsubst_pack_expansion): Don't get confused by recursive
|
78 |
|
|
unification.
|
79 |
|
|
|
80 |
|
|
2010-05-24 Jason Merrill
|
81 |
|
|
|
82 |
|
|
PR c++/41510
|
83 |
|
|
* decl.c (check_initializer): Don't wrap an init-list in a
|
84 |
|
|
TREE_LIST.
|
85 |
|
|
* init.c (build_aggr_init): Don't assume copy-initialization if
|
86 |
|
|
init has CONSTRUCTOR_IS_DIRECT_INIT.
|
87 |
|
|
* call.c (build_new_method_call): Sanity check.
|
88 |
|
|
|
89 |
|
|
2010-05-19 Jason Merrill
|
90 |
|
|
|
91 |
|
|
PR c++/44193
|
92 |
|
|
* pt.c (tsubst) [TYPENAME_TYPE]: Discard cv-quals on
|
93 |
|
|
function/reference type.
|
94 |
|
|
|
95 |
|
|
* call.c (struct z_candidate): Add explicit_targs field.
|
96 |
|
|
(add_template_candidate_real): Set it.
|
97 |
|
|
(build_over_call): Use it to control init-list warning.
|
98 |
|
|
|
99 |
|
|
PR c++/44157
|
100 |
|
|
* call.c (build_over_call): Limit init-list deduction warning to
|
101 |
|
|
cases where the argument is actually an init-list.
|
102 |
|
|
|
103 |
|
|
PR c++/44158
|
104 |
|
|
* call.c (build_over_call): Don't do bitwise copy for move ctor.
|
105 |
|
|
|
106 |
|
|
2010-05-14 Jason Merrill
|
107 |
|
|
|
108 |
|
|
PR c++/44127
|
109 |
|
|
* except.c (dtor_nothrow): Return nonzero for type with
|
110 |
|
|
trivial destructor.
|
111 |
|
|
|
112 |
|
|
PR c++/44127
|
113 |
|
|
* cp-gimplify.c (gimplify_must_not_throw_expr): Use
|
114 |
|
|
gimple_build_eh_must_not_throw.
|
115 |
|
|
|
116 |
|
|
2010-05-13 Jason Merrill
|
117 |
|
|
|
118 |
|
|
PR c++/43787
|
119 |
|
|
* cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
|
120 |
|
|
* call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
|
121 |
|
|
|
122 |
|
|
2010-05-04 Jason Merrill
|
123 |
|
|
|
124 |
|
|
PR c++/38064
|
125 |
|
|
* typeck.c (cp_build_binary_op): Allow enums for <> as well.
|
126 |
|
|
|
127 |
|
|
2010-05-03 Dodji Seketeli
|
128 |
|
|
|
129 |
|
|
PR c++/43953
|
130 |
|
|
* pt.c (most_specialized_class): Pretend we are processing
|
131 |
|
|
a template decl during the call to coerce_template_parms.
|
132 |
|
|
|
133 |
|
|
2010-04-30 Jason Merrill
|
134 |
|
|
|
135 |
|
|
PR c++/43868
|
136 |
|
|
* cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle pmfs.
|
137 |
|
|
|
138 |
|
|
2010-04-27 Jason Merrill
|
139 |
|
|
|
140 |
|
|
PR c++/43856
|
141 |
|
|
* name-lookup.c (qualify_lookup): Disqualify lambda op().
|
142 |
|
|
* semantics.c (nonlambda_method_basetype): New.
|
143 |
|
|
* cp-tree.h: Declare them.
|
144 |
|
|
* tree.c (maybe_dummy_object): Handle implicit 'this' capture.
|
145 |
|
|
|
146 |
|
|
PR c++/43875
|
147 |
|
|
* semantics.c (lambda_return_type): Complain about
|
148 |
|
|
braced-init-list.
|
149 |
|
|
|
150 |
|
|
* parser.c (cp_parser_lambda_expression): Complain about lambda in
|
151 |
|
|
unevaluated context.
|
152 |
|
|
* pt.c (iterative_hash_template_arg): Don't crash on lambda.
|
153 |
|
|
|
154 |
|
|
2010-04-19 Dodji Seketeli
|
155 |
|
|
|
156 |
|
|
PR c++/43704
|
157 |
|
|
* typeck.c (structural_comptypes): Test dependent typedefs
|
158 |
|
|
incompatibility before testing for their main variant based
|
159 |
|
|
equivalence.
|
160 |
|
|
(incompatible_dependent_types_p): If one of the
|
161 |
|
|
compared types if not a typedef then honour their main variant
|
162 |
|
|
equivalence.
|
163 |
|
|
|
164 |
|
|
2010-04-16 Jason Merrill
|
165 |
|
|
|
166 |
|
|
PR c++/43641
|
167 |
|
|
* semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
|
168 |
|
|
return value directly.
|
169 |
|
|
|
170 |
|
|
PR c++/43621
|
171 |
|
|
* pt.c (maybe_update_decl_type): Check the return value from
|
172 |
|
|
push_scope.
|
173 |
|
|
|
174 |
|
|
2010-04-15 Richard Guenther
|
175 |
|
|
|
176 |
|
|
PR c++/43611
|
177 |
|
|
* semantics.c (expand_or_defer_fn_1): Do not keep extern
|
178 |
|
|
template inline functions.
|
179 |
|
|
|
180 |
|
|
2010-04-14 Release Manager
|
181 |
|
|
|
182 |
|
|
* GCC 4.5.0 released.
|
183 |
|
|
|
184 |
|
|
2010-04-06 Jason Merrill
|
185 |
|
|
|
186 |
|
|
PR c++/43648
|
187 |
|
|
* name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
|
188 |
|
|
|
189 |
|
|
2010-04-01 Jason Merrill
|
190 |
|
|
|
191 |
|
|
* decl.c (next_initializable_field): No longer static.
|
192 |
|
|
* cp-tree.h: Declare it.
|
193 |
|
|
* call.c (build_aggr_conv): Fail if there are more initializers
|
194 |
|
|
than initializable fields.
|
195 |
|
|
|
196 |
|
|
* semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
|
197 |
|
|
instead of void_zero_node.
|
198 |
|
|
|
199 |
|
|
2010-03-31 Dodji Seketeli
|
200 |
|
|
|
201 |
|
|
PR c++/43558
|
202 |
|
|
* cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
|
203 |
|
|
* pt.c (end_template_parm_list): Store sibling template parms of
|
204 |
|
|
each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
|
205 |
|
|
(push_template_decl_real): Don't store the containing template decl
|
206 |
|
|
into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
|
207 |
|
|
* typeck.c (get_template_parms_of_dependent_type): Get sibling parms
|
208 |
|
|
of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
|
209 |
|
|
Simplify the logic.
|
210 |
|
|
|
211 |
|
|
2010-03-30 Jason Merrill
|
212 |
|
|
|
213 |
|
|
PR c++/43076
|
214 |
|
|
* pt.c (push_template_decl_real): Deal better with running out of
|
215 |
|
|
scopes before running out of template parms.
|
216 |
|
|
|
217 |
|
|
PR c++/41185
|
218 |
|
|
PR c++/41786
|
219 |
|
|
* parser.c (cp_parser_direct_declarator): Don't allow VLAs in
|
220 |
|
|
function parameter context. Don't print an error if parsing
|
221 |
|
|
tentatively.
|
222 |
|
|
|
223 |
|
|
PR c++/43559
|
224 |
|
|
* pt.c (more_specialized_fn): Don't control cv-qualifier check
|
225 |
|
|
with same_type_p.
|
226 |
|
|
|
227 |
|
|
2010-03-26 Jason Merrill
|
228 |
|
|
|
229 |
|
|
PR c++/43509
|
230 |
|
|
* parser.c (cp_parser_qualifying_entity): Do accept enum names in
|
231 |
|
|
c++0x mode, but not other type-names.
|
232 |
|
|
|
233 |
|
|
2010-03-26 Dodji Seketeli
|
234 |
|
|
|
235 |
|
|
PR c++/43327
|
236 |
|
|
* pt.c (add_to_template_args): Support NULL ARGS;
|
237 |
|
|
(most_specialized_class): call coerce_template_parms on
|
238 |
|
|
template arguments passed to get_class_bindings. Use
|
239 |
|
|
add_to_template_args.
|
240 |
|
|
(unify): Handle VAR_DECLs.
|
241 |
|
|
|
242 |
|
|
2010-03-26 Dodji Seketeli
|
243 |
|
|
|
244 |
|
|
* cp-tree.h (get_template_parms_at_level): Change unsigned parm
|
245 |
|
|
into int.
|
246 |
|
|
* pt.c (get_template_parms_at_level): Adjust.
|
247 |
|
|
|
248 |
|
|
2010-03-25 Dodji Seketeli
|
249 |
|
|
|
250 |
|
|
PR c++/43206
|
251 |
|
|
* cp-tree.h (get_template_parms_at_level): Declare ...
|
252 |
|
|
* pt.c (get_template_parms_at_level): ... new function.
|
253 |
|
|
* typeck.c (get_template_parms_of_dependent_type): If a template
|
254 |
|
|
type parm's DECL_CONTEXT isn't yet set, get its siblings from
|
255 |
|
|
current_template_parms. Use get_template_parms_at_level. Remove
|
256 |
|
|
useless test.
|
257 |
|
|
(incompatible_dependent_types_p): If we get empty parms from just one
|
258 |
|
|
of the template type parms we are comparing then the template parms are
|
259 |
|
|
incompatible.
|
260 |
|
|
|
261 |
|
|
2010-03-24 Jason Merrill
|
262 |
|
|
|
263 |
|
|
PR c++/43502
|
264 |
|
|
* parser.c (make_declarator): Initialize id_loc.
|
265 |
|
|
(cp_parser_lambda_declarator_opt): And set it.
|
266 |
|
|
|
267 |
|
|
2010-03-23 Jason Merrill
|
268 |
|
|
|
269 |
|
|
Make lambda conversion op and op() non-static.
|
270 |
|
|
* semantics.c (maybe_add_lambda_conv_op): Make non-static.
|
271 |
|
|
Also add the thunk function returned by the conversion op.
|
272 |
|
|
Mark the conversion deleted if the op() is variadic.
|
273 |
|
|
* decl2.c (mark_used): Give helpful message about deleted conversion.
|
274 |
|
|
* parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
|
275 |
|
|
* semantics.c (finish_this_expr): Adjust.
|
276 |
|
|
* mangle.c (write_closure_type_name): Adjust.
|
277 |
|
|
* decl.c (grok_op_properties): Don't allow it.
|
278 |
|
|
* call.c (build_user_type_conversion_1): No static conversion ops.
|
279 |
|
|
(build_op_call): Or op().
|
280 |
|
|
|
281 |
|
|
* decl2.c (change_return_type): Fix 'this' quals.
|
282 |
|
|
|
283 |
|
|
2010-03-22 Jason Merrill
|
284 |
|
|
|
285 |
|
|
PR c++/43333
|
286 |
|
|
* tree.c (pod_type_p): Use old meaning in C++98 mode.
|
287 |
|
|
|
288 |
|
|
PR c++/43281
|
289 |
|
|
* pt.c (contains_auto_r): New fn.
|
290 |
|
|
(do_auto_deduction): Use it.
|
291 |
|
|
(tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
|
292 |
|
|
|
293 |
|
|
2010-03-20 Simon Martin
|
294 |
|
|
|
295 |
|
|
PR c++/43081:
|
296 |
|
|
* decl2.c (grokfield): Handle invalid initializers for member
|
297 |
|
|
functions.
|
298 |
|
|
|
299 |
|
|
2010-03-20 Dodji Seketeli
|
300 |
|
|
|
301 |
|
|
PR c++/43375
|
302 |
|
|
* method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
|
303 |
|
|
is NULL.
|
304 |
|
|
* decl2.c (vague_linkage_p): Likewise.
|
305 |
|
|
|
306 |
|
|
2010-03-18 Paolo Carlini
|
307 |
|
|
|
308 |
|
|
PR c++/43418
|
309 |
|
|
* parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
|
310 |
|
|
false, in the cp_parser_expression_statement call.
|
311 |
|
|
|
312 |
|
|
2010-03-05 Jason Merrill
|
313 |
|
|
|
314 |
|
|
* mangle.c (mangle_decl): Give name collision error even without
|
315 |
|
|
ASM_OUTPUT_DEF.
|
316 |
|
|
|
317 |
|
|
2010-03-04 Marco Poletti
|
318 |
|
|
|
319 |
|
|
* pt.c (process_partial_specialization): Use error_n instead of
|
320 |
|
|
error.
|
321 |
|
|
|
322 |
|
|
2010-03-03 Jason Merrill
|
323 |
|
|
|
324 |
|
|
PR c++/12909
|
325 |
|
|
* mangle.c (mangle_decl): Handle VAR_DECL, too.
|
326 |
|
|
|
327 |
|
|
2010-03-03 Jason Merrill
|
328 |
|
|
|
329 |
|
|
PR c++/12909
|
330 |
|
|
* mangle.c: Include cgraph.h.
|
331 |
|
|
(mangle_decl): If the mangled name will change in a later
|
332 |
|
|
ABI version, make the later mangled name an alias.
|
333 |
|
|
* method.c (make_alias_for): Copy DECL_ARGUMENTS.
|
334 |
|
|
* Make-lang.in (mangle.o): Depend on cgraph.h.
|
335 |
|
|
* method.c (make_alias_for): Handle VAR_DECL, too.
|
336 |
|
|
* decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
|
337 |
|
|
* tree.c (no_linkage_check): Adjust.
|
338 |
|
|
* decl.c (maybe_commonize_var): Adjust.
|
339 |
|
|
* cp-tree.h: Adjust.
|
340 |
|
|
|
341 |
|
|
2010-03-01 Marco Poletti
|
342 |
|
|
|
343 |
|
|
* pt.c (redeclare_class_template): Use error_n and inform_n.
|
344 |
|
|
|
345 |
|
|
2010-02-27 Mark Mitchell
|
346 |
|
|
|
347 |
|
|
PR c++/42748
|
348 |
|
|
* cp-tree.h (push_tinst_level): Declare.
|
349 |
|
|
(pop_tinst_level): Likewise.
|
350 |
|
|
* pt.c (push_tinst_level): Give it external linkage.
|
351 |
|
|
(pop_tinst_level): Likewise.
|
352 |
|
|
* mangle.c (mangle_decl_string): Set the source location to that
|
353 |
|
|
of the decl while mangling.
|
354 |
|
|
|
355 |
|
|
2010-02-27 Simon Martin
|
356 |
|
|
|
357 |
|
|
PR c++/42054
|
358 |
|
|
* pt.c (redeclare_class_template): Return false if there are erroneous
|
359 |
|
|
template parameters.
|
360 |
|
|
|
361 |
|
|
2010-02-24 Manuel López-Ibáñez
|
362 |
|
|
|
363 |
|
|
* pt.c (push_tinst_level): Replace -ftemplate-depth- with
|
364 |
|
|
-ftemplate-depth=.
|
365 |
|
|
|
366 |
|
|
2010-02-24 Jason Merrill
|
367 |
|
|
|
368 |
|
|
PR c++/12909
|
369 |
|
|
* mangle.c (write_type): Give -Wabi warning for old vector mangling.
|
370 |
|
|
|
371 |
|
|
* class.c (layout_class_type): Don't give -Wabi warning for a bug
|
372 |
|
|
in a previous ABI version.
|
373 |
|
|
|
374 |
|
|
2010-02-23 Jason Merrill
|
375 |
|
|
|
376 |
|
|
PR c++/43143
|
377 |
|
|
* typeck2.c (digest_init_r): Accept value init of array.
|
378 |
|
|
|
379 |
|
|
2010-02-22 Manuel López-Ibáñez
|
380 |
|
|
|
381 |
|
|
PR c++/43126
|
382 |
|
|
* typeck.c (convert_arguments): Update error message.
|
383 |
|
|
|
384 |
|
|
2010-02-22 Mike Stump
|
385 |
|
|
|
386 |
|
|
PR c++/43125
|
387 |
|
|
* decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
|
388 |
|
|
|
389 |
|
|
2010-02-21 Manuel López-Ibáñez
|
390 |
|
|
|
391 |
|
|
PR c++/23510
|
392 |
|
|
* error.c (print_instantiation_partial_context_line): New.
|
393 |
|
|
(print_instantiation_partial_context): Print at most 12 contexts,
|
394 |
|
|
skip the rest with a message.
|
395 |
|
|
|
396 |
|
|
2010-02-21 Dodji Seketeli
|
397 |
|
|
|
398 |
|
|
PR c++/42824
|
399 |
|
|
* pt.c (lookup_template_class): Better support of specialization
|
400 |
|
|
of member of class template implicit instantiation.
|
401 |
|
|
|
402 |
|
|
2010-02-20 Manuel López-Ibáñez
|
403 |
|
|
|
404 |
|
|
PR c++/35669
|
405 |
|
|
* call.c (conversion_null_warnings): Replace -Wconversion with
|
406 |
|
|
-Wconversion-null.
|
407 |
|
|
* cvt.c (build_expr_type_conversion): Likewise.
|
408 |
|
|
|
409 |
|
|
2010-02-18 Jason Merrill
|
410 |
|
|
|
411 |
|
|
PR c++/42837
|
412 |
|
|
* class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
|
413 |
|
|
|
414 |
|
|
PR c++/43108
|
415 |
|
|
* typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
|
416 |
|
|
C build_binary_op.
|
417 |
|
|
* cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
|
418 |
|
|
* cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
|
419 |
|
|
|
420 |
|
|
PR c++/43070
|
421 |
|
|
* semantics.c (finish_goto_stmt): Don't call decay_conversion.
|
422 |
|
|
|
423 |
|
|
PR c++/26261
|
424 |
|
|
PR c++/43101
|
425 |
|
|
* pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
|
426 |
|
|
(maybe_update_decl_type): New fn.
|
427 |
|
|
* parser.c (cp_parser_init_declarator): Use it.
|
428 |
|
|
|
429 |
|
|
PR c++/43109
|
430 |
|
|
* semantics.c (begin_class_definition): Don't crash on unnamed ns.
|
431 |
|
|
|
432 |
|
|
2010-02-17 Jason Merrill
|
433 |
|
|
|
434 |
|
|
PR c++/43075
|
435 |
|
|
* call.c (build_over_call): Don't create zero-sized assignments.
|
436 |
|
|
* cp-gimplify.c (cp_genericize_r): Don't remove them here.
|
437 |
|
|
* cp-objcp-common.c (cp_expr_size): Remove.
|
438 |
|
|
* cp-tree.h: Remove prototype.
|
439 |
|
|
|
440 |
|
|
PR c++/43069
|
441 |
|
|
* name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
|
442 |
|
|
decl we looked up doesn't match.
|
443 |
|
|
|
444 |
|
|
PR c++/43093
|
445 |
|
|
* cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
|
446 |
|
|
have an INIT_EXPR anymore.
|
447 |
|
|
|
448 |
|
|
PR c++/43079
|
449 |
|
|
* pt.c (convert_nontype_argument): Change assert to test.
|
450 |
|
|
|
451 |
|
|
2010-02-16 Jason Merrill
|
452 |
|
|
|
453 |
|
|
* cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
|
454 |
|
|
|
455 |
|
|
PR c++/43031
|
456 |
|
|
* cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
|
457 |
|
|
VIEW_CONVERT_EXPR for conversions between structural equality types
|
458 |
|
|
that the back end can't tell are the same.
|
459 |
|
|
|
460 |
|
|
PR c++/43036
|
461 |
|
|
* tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
|
462 |
|
|
cv-quals from element here.
|
463 |
|
|
(cp_build_qualified_type_real): Not here. Preserve typedef name.
|
464 |
|
|
|
465 |
|
|
2010-02-14 Jason Merrill
|
466 |
|
|
|
467 |
|
|
PR c++/41997
|
468 |
|
|
* semantics.c (finish_compound_literal): Use
|
469 |
|
|
cp_apply_type_quals_to_decl when creating a static variable.
|
470 |
|
|
|
471 |
|
|
2010-02-12 Jason Merrill
|
472 |
|
|
|
473 |
|
|
PR c++/43024
|
474 |
|
|
* name-lookup.h (current_binding_level): Check for null
|
475 |
|
|
cp_function_chain.
|
476 |
|
|
|
477 |
|
|
2010-02-12 Jason Merrill
|
478 |
|
|
|
479 |
|
|
PR c++/43054
|
480 |
|
|
* tree.c (cp_tree_equal): Correct CALL_EXPR logic.
|
481 |
|
|
|
482 |
|
|
2010-02-12 Jakub Jelinek
|
483 |
|
|
|
484 |
|
|
PR c++/43033
|
485 |
|
|
* name-lookup.c (pushdecl_maybe_friend): Check default args of t
|
486 |
|
|
instead of x.
|
487 |
|
|
|
488 |
|
|
2010-02-10 Jason Merrill
|
489 |
|
|
|
490 |
|
|
PR c++/41896
|
491 |
|
|
* semantics.c (outer_lambda_capture_p): Revert.
|
492 |
|
|
(add_capture): Only finish_member_declaration if
|
493 |
|
|
we're in the lambda class.
|
494 |
|
|
(register_capture_members): New.
|
495 |
|
|
* cp-tree.h: Declare it.
|
496 |
|
|
* parser.c (cp_parser_lambda_expression): Call it.
|
497 |
|
|
|
498 |
|
|
2010-02-10 Jason Merrill
|
499 |
|
|
|
500 |
|
|
PR c++/41896
|
501 |
|
|
* semantics.c (outer_lambda_capture_p): Use current_function_decl
|
502 |
|
|
instead of current_class_type.
|
503 |
|
|
|
504 |
|
|
2010-02-10 Jason Merrill
|
505 |
|
|
|
506 |
|
|
PR c++/42983, core issue 906
|
507 |
|
|
* method.c (defaultable_fn_check): Check virtualness.
|
508 |
|
|
|
509 |
|
|
2010-02-10 Jason Merrill
|
510 |
|
|
|
511 |
|
|
PR c++/43016
|
512 |
|
|
* semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
|
513 |
|
|
|
514 |
|
|
2010-02-10 Shujing Zhao
|
515 |
|
|
|
516 |
|
|
* Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
|
517 |
|
|
* cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
|
518 |
|
|
translation.
|
519 |
|
|
* parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
|
520 |
|
|
(cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
|
521 |
|
|
(cp_parser_parameter_declaration)
|
522 |
|
|
(cp_parser_exception_specification_opt)
|
523 |
|
|
(cp_parser_exception_declaration): Likewise.
|
524 |
|
|
* pt.c (check_default_tmpl_args): Likewise.
|
525 |
|
|
* search.c (lookup_field_r): Likewise.
|
526 |
|
|
|
527 |
|
|
2010-02-09 Jason Merrill
|
528 |
|
|
|
529 |
|
|
PR c++/42399
|
530 |
|
|
* pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
|
531 |
|
|
|
532 |
|
|
2010-02-09 Jason Merrill
|
533 |
|
|
|
534 |
|
|
PR c++/42370
|
535 |
|
|
* decl2.c (change_return_type): New fn.
|
536 |
|
|
* semantics.c (apply_lambda_return_type): Use it.
|
537 |
|
|
* cp-tree.h: Declare it.
|
538 |
|
|
|
539 |
|
|
2010-02-05 Richard Guenther
|
540 |
|
|
|
541 |
|
|
* Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
|
542 |
|
|
* cp-lang.c: Include gt-cp-cp-lang.h.
|
543 |
|
|
* config-lang.in (gtfiles): Add cp/cp-lang.c.
|
544 |
|
|
|
545 |
|
|
2010-02-05 Dodji Seketeli
|
546 |
|
|
|
547 |
|
|
PR c++/42915
|
548 |
|
|
* typeck.c (get_template_parms_of_dependent_type): Try getting
|
549 |
|
|
the template parameters fromt the type itself first.
|
550 |
|
|
|
551 |
|
|
2010-02-03 Jason Merrill
|
552 |
|
|
|
553 |
|
|
PR c++/4926
|
554 |
|
|
PR c++/38600
|
555 |
|
|
* mangle.c (write_unqualified_id): Split out from write_expression.
|
556 |
|
|
(write_unqualified_name): Call it.
|
557 |
|
|
(write_member_name): Likewise.
|
558 |
|
|
(write_expression): Support TEMPLATE_ID_EXPR.
|
559 |
|
|
Disambiguate operator names.
|
560 |
|
|
|
561 |
|
|
PR c++/12909
|
562 |
|
|
* mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
|
563 |
|
|
-fabi-version=4.
|
564 |
|
|
|
565 |
|
|
2010-02-02 Jason Merrill
|
566 |
|
|
|
567 |
|
|
PR c++/41090
|
568 |
|
|
* decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
|
569 |
|
|
* optimize.c (clone_body): Remap their initializers when making base
|
570 |
|
|
variants.
|
571 |
|
|
(maybe_clone_body): Complain if multiple clones aren't safe.
|
572 |
|
|
|
573 |
|
|
2010-01-29 Dodji Seketeli
|
574 |
|
|
|
575 |
|
|
PR c++/42758
|
576 |
|
|
PR c++/42634
|
577 |
|
|
PR c++/42336
|
578 |
|
|
PR c++/42797
|
579 |
|
|
PR c++/42880
|
580 |
|
|
* cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
|
581 |
|
|
SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
|
582 |
|
|
GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
|
583 |
|
|
* pt.c (coerce_template_parms, type_unification_real,
|
584 |
|
|
expand_template_argument_pack, coerce_template_parameter_pack):
|
585 |
|
|
Set the non default template args count.
|
586 |
|
|
(current_template_args): Always set non defaulted
|
587 |
|
|
template args count when compiled with --enable-checking
|
588 |
|
|
(tsubst_template_args, type_unification_real): Propagate the non
|
589 |
|
|
defaulted template args count.
|
590 |
|
|
* error.c (get_non_default_template_args_count): Renamed
|
591 |
|
|
count_non_default_template_args into this. Don't calculate the
|
592 |
|
|
non default template argument count anymore. Use the new
|
593 |
|
|
accessor macros above to get it.
|
594 |
|
|
(dump_template_argument_list, dump_type, dump_decl,
|
595 |
|
|
dump_template_parms): Adjust.
|
596 |
|
|
* parser.c (cp_parser_template_argument_list): Always set defaulted
|
597 |
|
|
template args count when compiled with --enable-checking.
|
598 |
|
|
|
599 |
|
|
2010-01-29 Shujing Zhao
|
600 |
|
|
|
601 |
|
|
* decl.c (redeclaration_error_message): Wrap the return messages into
|
602 |
|
|
G_() for easy translation.
|
603 |
|
|
|
604 |
|
|
2010-01-28 Jason Merrill
|
605 |
|
|
|
606 |
|
|
PR c++/42880
|
607 |
|
|
* semantics.c (begin_class_definition): Don't use type_as_string.
|
608 |
|
|
|
609 |
|
|
2010-01-28 Dodji Seketeli
|
610 |
|
|
|
611 |
|
|
PR c++/42713
|
612 |
|
|
PR c++/42820
|
613 |
|
|
* typeck.c (get_template_parms_of_dependent_type): Factorized
|
614 |
|
|
this out of incompatible_template_type_parms_p
|
615 |
|
|
(incompatible_dependent_types_p): Renamed
|
616 |
|
|
incompatible_template_type_parms_p into this. Make it detect
|
617 |
|
|
two incompatible dependent typedefs too.
|
618 |
|
|
(structural_comptypes): Use incompatible_dependent_types_p.
|
619 |
|
|
* pt.c (get_template_info):
|
620 |
|
|
Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
|
621 |
|
|
|
622 |
|
|
2010-01-20 Janis Johnson
|
623 |
|
|
Jason Merrill
|
624 |
|
|
|
625 |
|
|
* mangle.c (write_type): Mangle transparent record as member type.
|
626 |
|
|
* semantics.c (begin_class_definition): Recognize decimal classes
|
627 |
|
|
and set TYPE_TRANSPARENT_AGGR.
|
628 |
|
|
|
629 |
|
|
2010-01-20 Jason Merrill
|
630 |
|
|
|
631 |
|
|
PR c++/42338
|
632 |
|
|
* mangle.c (write_expression): Handle tree codes that have extra
|
633 |
|
|
arguments in the middle-end.
|
634 |
|
|
|
635 |
|
|
2010-01-20 Paolo Carlini
|
636 |
|
|
|
637 |
|
|
PR c++/42038
|
638 |
|
|
* except.c (expand_start_catch_block): Deal correctly with
|
639 |
|
|
do_begin_catch returning error_mark_node.
|
640 |
|
|
|
641 |
|
|
2010-01-20 Jason Merrill
|
642 |
|
|
|
643 |
|
|
PR c++/41788
|
644 |
|
|
* class.c (layout_class_type): Set packed_maybe_necessary for packed
|
645 |
|
|
non-PODs.
|
646 |
|
|
|
647 |
|
|
PR c++/41920
|
648 |
|
|
* semantics.c (build_lambda_object): Call mark_used on captured
|
649 |
|
|
variables.
|
650 |
|
|
|
651 |
|
|
PR c++/40750
|
652 |
|
|
* decl.c (grokdeclarator): Clear type_quals for a member function
|
653 |
|
|
declared using a typedef. Don't complain about adding cv-quals
|
654 |
|
|
to a function typedef in C++0x mode.
|
655 |
|
|
|
656 |
|
|
2010-01-20 Jakub Jelinek
|
657 |
|
|
|
658 |
|
|
* decl.c (create_array_type_for_decl): Remove set but not used
|
659 |
|
|
variable error_msg. Remove break stmts after return stmts.
|
660 |
|
|
|
661 |
|
|
2010-01-19 Dodji Seketeli
|
662 |
|
|
|
663 |
|
|
* error.c (dump_template_parms, count_non_default_template_args):
|
664 |
|
|
Revert fix of PR c++/42634.
|
665 |
|
|
|
666 |
|
|
2010-01-18 Dodji Seketeli
|
667 |
|
|
|
668 |
|
|
PR c++/42634
|
669 |
|
|
* error.c (dump_template_parms): Use innermost template
|
670 |
|
|
arguments before calling count_non_default_template_args.
|
671 |
|
|
(count_non_default_template_args): We are being called with
|
672 |
|
|
template innermost arguments now. There is no need to ensure
|
673 |
|
|
that again.
|
674 |
|
|
|
675 |
|
|
2010-01-18 Dodji Seketeli
|
676 |
|
|
|
677 |
|
|
PR c++/42766
|
678 |
|
|
* cvt.c (build_expr_type_conversion): Look through OVERLOAD.
|
679 |
|
|
|
680 |
|
|
2010-01-17 Dodji Seketeli
|
681 |
|
|
|
682 |
|
|
PR c++/42697
|
683 |
|
|
*pt.c (tsubst_decl): Revert commit for PR c++/42697.
|
684 |
|
|
|
685 |
|
|
2010-01-17 Dodji Seketeli
|
686 |
|
|
|
687 |
|
|
PR c++/42697
|
688 |
|
|
*pt.c (tsubst_decl): Get the arguments of a specialization from
|
689 |
|
|
the specialization template, not from the most general template.
|
690 |
|
|
|
691 |
|
|
2010-01-16 Jason Merrill
|
692 |
|
|
|
693 |
|
|
PR c++/42761
|
694 |
|
|
* semantics.c (finish_decltype_type): Within a template, treat
|
695 |
|
|
unresolved CALL_EXPR as dependent.
|
696 |
|
|
|
697 |
|
|
2010-01-15 Dodji Seketeli
|
698 |
|
|
|
699 |
|
|
* error.c (dump_template_parms,count_non_default_template_args):
|
700 |
|
|
Revert changes of PR c++/42634.
|
701 |
|
|
|
702 |
|
|
2010-01-14 Jakub Jelinek
|
703 |
|
|
|
704 |
|
|
PR middle-end/42674
|
705 |
|
|
* decl.c (finish_function): Don't emit -Wreturn-type warnings in
|
706 |
|
|
functions with noreturn attribute.
|
707 |
|
|
|
708 |
|
|
2010-01-14 Jason Merrill
|
709 |
|
|
|
710 |
|
|
PR c++/42701
|
711 |
|
|
* call.c (build_new_method_call): Don't free the vec here.
|
712 |
|
|
|
713 |
|
|
PR c++/42655
|
714 |
|
|
* call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
|
715 |
|
|
|
716 |
|
|
2010-01-13 Dodji Seketeli
|
717 |
|
|
|
718 |
|
|
PR c++/42634
|
719 |
|
|
* error.c (dump_template_parms): Use innermost template
|
720 |
|
|
arguments before calling count_non_default_template_args.
|
721 |
|
|
(count_non_default_template_args): We are being called with
|
722 |
|
|
template innermost arguments now. There is no need to ensure
|
723 |
|
|
that again.
|
724 |
|
|
|
725 |
|
|
2010-01-07 Dodji Seketeli
|
726 |
|
|
|
727 |
|
|
c++/40155
|
728 |
|
|
* pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
|
729 |
|
|
arguments that were previously deduced.
|
730 |
|
|
|
731 |
|
|
2010-01-05 Jason Merrill
|
732 |
|
|
|
733 |
|
|
* pt.c (unify_pack_expansion): Handle deduction from init-list.
|
734 |
|
|
* call.c (build_over_call): Don't complain about it.
|
735 |
|
|
|
736 |
|
|
2010-01-04 Jason Merrill
|
737 |
|
|
|
738 |
|
|
PR c++/42555
|
739 |
|
|
* pt.c (tsubst_decl): Don't apply type attributes in place.
|
740 |
|
|
|
741 |
|
|
PR c++/42567
|
742 |
|
|
* semantics.c (describable_type): Remove decltype comment and
|
743 |
|
|
semantics.
|
744 |
|
|
|
745 |
|
|
|
746 |
|
|
|
747 |
|
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
748 |
|
|
|
749 |
|
|
Copying and distribution of this file, with or without modification,
|
750 |
|
|
are permitted in any medium without royalty provided the copyright
|
751 |
|
|
notice and this notice are preserved.
|