re PR c++/48289 (-pedantic breaks std::move)
[gcc.git] / gcc / cp / ChangeLog
1 2011-03-25 Jason Merrill <jason@redhat.com>
2
3 PR c++/48289
4 * pt.c (build_non_dependent_expr): Keep dereferences outside the
5 NON_DEPENDENT_EXPR.
6
7 2011-03-25 Kai Tietz <ktietz@redhat.com>
8
9 * decl.c (decls_match): Replace target hook
10 call of comp_type_attributes by version in tree.c file.
11 * search.c (check_final_overrider): Likewise.
12 * typeck.c (structural_comptypes): Likewise.
13
14 2011-03-21 Kai Tietz <ktietz@redhat.com>
15
16 PR target/12171
17 * cxx-pretty-print.c (pp_cxx_ptr_operator):
18 Display allowed attributes for function pointer types.
19 * error.c (dump_type_prefix): Likewise.
20
21 * tree.c (cxx_attribute_table): Adjust table.
22
23 2011-03-18 Jason Merrill <jason@redhat.com>
24
25 PR c++/48162
26 * semantics.c (finish_call_expr): Allow TARGET_EXPR for now.
27
28 PR c++/48118
29 * call.c (build_over_call): Don't skip ck_rvalue.
30
31 2011-03-17 Jason Merrill <jason@redhat.com>
32
33 PR c++/47504
34 * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
35 the conversion set TREE_OVERFLOW.
36
37 Core 1212
38 * semantics.c (finish_decltype_type): Return T&& for xvalue.
39 * typeck.c (unlowered_expr_type): Preserve cv-quals.
40
41 PR c++/48166
42 * decl.c (revert_static_member_fn): Strip function-cv-quals.
43
44 2011-03-16 Jason Merrill <jason@redhat.com>
45
46 PR c++/48089
47 * semantics.c (potential_constant_expression_1): Don't allow *this
48 in a constructor.
49 (register_constexpr_fundef): Use potential_rvalue_constant_expression.
50
51 PR c++/47301
52 * decl.c (compute_array_index_type): Don't bother trying to deal
53 with literal classes in ABI v1.
54
55 PR c++/46336
56 * decl.c (duplicate_decls): Return NULL_TREE for clashing
57 C functions.
58
59 PR c++/47570
60 * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
61 use the generic binary expression handling.
62
63 2011-03-16 Diego Novillo <dnovillo@google.com>
64
65 * Make-lang.in (CXX_PARSER_H): New.
66 (cp/parser.o): Add dependency on CXX_PARSER_H.
67 Add dependency on tree-pretty-print.h
68 (cp/cp-lang.o): Add dependency on CXX_PARSER_H.
69 * cp-lang.c: Include parser.h.
70 * parser.c: Include parser.h.
71 (struct cp_token): Add bitfield purged_p.
72 Update all users.
73 Move to parser.h.
74 (CPP_PURGED): Remove. Update all users.
75 (struct cp_lexer): Change field buffer to be a VEC of cp_token.
76 Remove field buffer_length.
77 Update all users.
78 Move to parser.h.
79 (struct tree_check): Move to parser.h.
80 (cp_token_position): Likewise.
81 (struct cp_token_cache): Likewise.
82 (CPP_KEYWORD): Likewise.
83 (CPP_TEMPLATE_ID): Likewise.
84 (CPP_NESTED_NAME_SPECIFIER): Likewise.
85 (N_CP_TTYPES): Likewise.
86 (enum cp_parser_status_kind): Likewise.
87 (struct cp_parser_context): Likewise.
88 (struct cp_default_arg_entry_d): Likewise.
89 (struct cp_unparsed_functions_entry_d): Likewise.
90 (struct cp_parser): Likewise.
91 (cp_lexer_dump_tokens): New.
92 (cp_lexer_debug_tokens): New.
93 (cp_lexer_finished_p): New.
94 (cp_lexer_alloc): Factor out of cp_lexer_new_main.
95 (cp_lexer_new_main): Re-write main lexing loop to push
96 tokens into the new VEC buffer.
97 (cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
98 Do not abort if the token type is not recognized, just print
99 its code.
100 * parser.h: New file.
101 * config-lang.in (gtfiles): Add cp/parser.h.
102
103 2011-03-16 Jason Merrill <jason@redhat.com>
104
105 Core 1148
106 * typeck.c (check_return_expr): Fix conditions for setting
107 LOOKUP_PREFER_RVALUE.
108
109 * call.c (build_over_call): Remove require_complete_type_sfinae call.
110
111 PR c++/48132
112 * decl.c (check_array_designated_initializer): Allow integer index.
113 (reshape_init_array_1): Set index on the elements.
114
115 2011-03-16 Jason Merrill <jason@redhat.com>
116
117 PR c++/48113
118 * typeck.c (convert_for_initialization): Use
119 perform_implicit_conversion_flags.
120 * call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
121 rvaluedness_matches_p on ck_rvalue.
122 (convert_like_real) [ck_rvalue]: And restore it here.
123
124 PR c++/48115
125 * call.c (convert_arg_to_ellipsis): Handle incomplete type.
126
127 2011-03-16 Jason Merrill <jason@redhat.com>
128
129 * parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
130 committed to this tentative parse.
131
132 PR c++/47999
133 * semantics.c (finish_call_expr): Preserve reference semantics
134 in templates.
135
136 * call.c (convert_default_arg): Use LOOKUP_IMPLICIT.
137
138 2011-03-16 Jakub Jelinek <jakub@redhat.com>
139
140 * cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
141 DECL_LANG_SPECIFIC is NULL.
142
143 2011-03-15 Jason Merrill <jason@redhat.com>
144
145 Core 1074
146 * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Don't
147 check value_dependent_expression_p on the operand.
148
149 * semantics.c (push_cx_call_context): Return bool.
150 (cxx_eval_call_expression): Handle excess depth.
151
152 Core 1191
153 * method.c (synthesized_method_walk): Cleanups don't affect the
154 triviality of a constructor, but do affect deletion and exception
155 specification.
156
157 2011-03-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
158
159 * decl2.c (cp_check_const_attributes): New.
160 (cplus_decl_attributes): Call cp_check_const_attributes.
161
162 2011-03-15 Jason Merrill <jason@redhat.com>
163
164 PR c++/34758
165 * call.c (convert_default_arg): Use DECL_ORIGIN of fn. Check for
166 recursion first.
167 (push_defarg_context, pop_defarg_context): New.
168 * parser.c (cp_parser_late_parsing_default_args): Use them.
169 * cp-tree.h: Declare them.
170
171 2011-03-11 Dodji Seketeli <dodji@redhat.com>
172
173 * call.c (add_builtin_candidate)<case INDIRECT_REF>: The type of
174 the argument of the indirection operator should not be dependent.
175 Fix the comment.
176
177 2011-03-11 Jason Merrill <jason@redhat.com>
178
179 PR c++/47125
180 * pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error.
181
182 PR c++/47144
183 * parser.c (cp_parser_template_type_arg): Set
184 type_definition_forbidden_message.
185
186 PR c++/47808
187 * decl.c (compute_array_index_type): Discard folding
188 if it didn't produce a constant.
189
190 2011-03-11 Jakub Jelinek <jakub@redhat.com>
191
192 PR c++/48035
193 * init.c (build_zero_init_1): Extracted from build_zero_init.
194 Add FIELD_SIZE argument, if non-NULL and field bit_position
195 as not smaller than that, don't add that field's initializer.
196 Pass DECL_SIZE as last argument to build_zero_init_1
197 for DECL_FIELD_IS_BASE fields.
198 (build_zero_init): Use build_zero_init_1.
199
200 2011-03-10 Jason Merrill <jason@redhat.com>
201
202 PR c++/48029
203 * pt.c (iterative_hash_template_arg): Remove special case for
204 ARRAY_TYPE.
205
206 PR c++/47198
207 * parser.c (cp_parser_single_declaration): Just return if
208 cp_parser_parse_and_diagnose_invalid_type_name complained.
209
210 2011-03-09 Jason Merrill <jason@redhat.com>
211
212 PR c++/44629
213 * pt.c (unify): An unresolved overload is a nondeduced context.
214
215 2011-03-09 Martin Jambor <mjambor@suse.cz>
216
217 PR tree-optimization/47714
218 * method.c (use_thunk): Clear addressable flag of thunk arguments.
219
220 2011-03-08 Dodji Seketeli <dodji@redhat.com>
221
222 PR c++/47705
223 * pt.c (convert_nontype_argument): Only call decay_conversion on
224 arrays.
225
226 2011-03-08 Jason Merrill <jason@redhat.com>
227
228 PR c++/47488
229 * mangle.c (write_template_arg_literal) [STRING_CST]: Sorry.
230
231 PR c++/47705
232 * pt.c (convert_nontype_argument): Don't crash on non-pointer
233 argument to pointer parameter.
234
235 PR c++/45651
236 * pt.c (instantiate_decl): Don't clear DECL_INTERFACE_KNOWN on
237 !TREE_PUBLIC decls.
238
239 2011-03-08 Dodji Seketeli <dodji@redhat.com>
240
241 PR c++/47957
242 * name-lookup.c (binding_to_template_parms_of_scope_p): Only
243 consider scopes of primary template definitions. Adjust comments.
244
245 2011-03-07 Jason Merrill <jason@redhat.com>
246
247 PR c++/48003
248 * pt.c (convert_nontype_argument): Fix -fpermissive allowing
249 integer overflow.
250 * semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW.
251
252 PR c++/48015
253 * init.c (constant_value_1): Always require init to be TREE_CONSTANT.
254
255 PR c++/48008
256 * mangle.c (write_type): Strip cv-quals from FUNCTION_TYPE here.
257 (write_CV_qualifiers_for_type): Not here.
258
259 2011-03-06 Joseph Myers <joseph@codesourcery.com>
260
261 * lang-specs.h: Match -save-temps* instead of -save-temps.
262
263 2011-03-05 Jason Merrill <jason@redhat.com>
264
265 * mangle.c (write_expression): Change ABI v6 to v5.
266 (write_type): Likewise.
267
268 2011-03-04 Jan Hubicka <jh@suse.cz>
269
270 PR lto/47497
271 * optimize.c (maybe_clone_body): Update call of cgraph_same_body_alias
272 and cgraph_add_thunk.
273 * method.c (make_alias_for_thunk, use_thunk): Likewise.
274 * mangle.c (mangle_decl): Likewise.
275
276 2011-03-04 Jason Merrill <jason@redhat.com>
277
278 PR c++/47971
279 * pt.c (tsubst_copy_and_build) [PSEUDO_DTOR_EXPR]: Use tsubst for type.
280 (tsubst_copy) [default]: Just return t if !ENABLE_CHECKING.
281
282 PR c++/46220
283 * search.c (check_final_overrider): Allow pointer to same incomplete
284 class type with different cv-quals.
285
286 2011-03-03 Paolo Carlini <paolo.carlini@oracle.com>
287
288 PR c++/47974
289 * pt.c (tsubst_template_args): Check argument t for error_mark_node.
290
291 2011-03-03 Jason Merrill <jason@redhat.com>
292
293 PR c++/47950
294 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Retain TREE_CONSTANT.
295
296 2011-03-02 Jason Merrill <jason@redhat.com>
297
298 PR c++/47950
299 * parser.c (cp_parser_condition): Don't fold_non_dependent_expr here.
300
301 PR c++/47774
302 * tree.c (build_vec_init_elt): Split out from...
303 (build_vec_init_expr): ...here.
304 (diagnose_non_constexpr_vec_init): New fn.
305 * semantics.c (potential_constant_expression_1): Use it.
306 * cp-tree.h: Declare it.
307
308 2011-03-01 Jason Merrill <jason@redhat.com>
309
310 PR c++/46159
311 * parser.c (cp_parser_primary_expression): Don't warn about a
312 failed tentative parse.
313
314 PR c++/47200
315 * semantics.c (cxx_bind_parameters_in_call): Don't call
316 adjust_temp_type on non-constant args.
317
318 PR c++/47851
319 * call.c (standard_conversion): Provide requested cv-quals on
320 class rvalue conversion.
321
322 PR c++/46282
323 * decl2.c (grokbitfield): Handle type-dependent width.
324
325 2011-02-28 Jason Merrill <jason@redhat.com>
326
327 PR c++/47873
328 * class.c (update_vtable_entry_for_fn): Check BINFO_LOST_PRIMARY_P
329 after checking for a non-thunk.
330
331 2011-02-26 Jason Merrill <jason@redhat.com>
332
333 PR c++/47904
334 * tree.c (cp_tree_equal): Compare DECL_PARM_LEVEL.
335 * pt.c (iterative_hash_template_arg): And hash it.
336
337 PR c++/47897
338 * semantics.c (non_const_var_error): Split out from...
339 (cxx_eval_constant_expression): ...here.
340 (potential_constant_expression_1) [VAR_DECL]: Use it.
341 Allow dependent variables.
342
343 2011-02-24 Jason Merrill <jason@redhat.com>
344
345 * parser.c (cp_parser_constant_expression): Set
346 non_integral_constant_expression correctly for C++0x too.
347 (cp_parser_static_assert): Allow non-constant expression.
348 (cp_parser_direct_declarator): Expect non_constant_p to be set
349 properly for C++0x.
350 * pt.c (value_dependent_expression_p): Handle TYPEID_EXPR.
351 * semantics.c (maybe_constant_value): Check type_unknown_p too.
352 (potential_rvalue_constant_expression): New.
353 (require_potential_rvalue_constant_expression): New.
354
355 2011-02-23 Jason Merrill <jason@redhat.com>
356
357 * cp-tree.h (DECL_PARM_LEVEL): New.
358 (struct lang_decl_parm): Add level field.
359 * name-lookup.c (function_parm_depth): New fn.
360 * name-lookup.h: Declare it.
361 * parser.c (cp_parser_parameter_declaration_list): Use it.
362 * mangle.c (struct globals): Add parm_depth field.
363 (write_bare_function_type): Adjust it.
364 (write_expression): Include the level delta in PARM_DECL mangling
365 for abi >= 6.
366
367 * semantics.c (finish_decltype_type): Remove shortcut for decltype
368 of id-expression.
369 * mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6.
370
371 2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
372
373 PR c++/46868
374 * parser.c (cp_parser_class_specifier): Require a closing brace
375 to attempt error recovery.
376
377 2011-02-23 Jakub Jelinek <jakub@redhat.com>
378
379 PR c++/47833
380 * pt.c (struct pending_template): Add chain_next GTY option.
381 * decl.c (struct named_label_use_entry): Likewise.
382
383 2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
384
385 PR c++/47242
386 * semantics.c (build_lambda_object): Bail out if a field is
387 error_mark_node.
388
389 2011-02-22 Dodji Seketeli <dodji@redhat.com>
390
391 PR c++/47666
392 * class.c (dfs_declare_virt_assop_and_dtor)
393 (declare_virt_assop_and_dtor): New static functions.
394 (add_implicitly_declared_members): Use
395 declare_virt_assop_and_dtor.
396
397 2011-02-21 Jason Merrill <jason@redhat.com>
398
399 PR c++/47207
400 * decl2.c (decl_constant_var_p): A constexpr var needs an
401 initializer to be constant.
402 * semantics.c (cxx_eval_constant_expression): Complain about
403 constexpr var used in its own initializer.
404 * call.c (set_up_extended_ref_temp): Set
405 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.
406
407 2011-02-20 Jason Merrill <jason@redhat.com>
408
409 PR c++/47199
410 * semantics.c (cxx_eval_call_expression): Call
411 cxx_eval_constant_expression in trivial shortcut.
412
413 PR c++/46831
414 * call.c (convert_class_to_reference): Don't try to set up a
415 second conv sequence for non-viable candidates.
416
417 PR c++/47703
418 * error.c (location_of): Handle non-tagged types.
419
420 PR c++/46472
421 * method.c (process_subob_fn): Instantiate constexpr templates.
422 * optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P.
423
424 2011-02-20 Dodji Seketeli <dodji@redhat.com>
425
426 PR c++/46394
427 * pt.c (tsubst_pack_expansion): do not use
428 cp_tree_equal/same_type_p to detect an expansion of a parameter
429 pack.
430
431 2011-02-19 Jason Merrill <jason@redhat.com>
432
433 PR c++/47503
434 * semantics.c (cxx_eval_call_expression): Shortcut trivial copy.
435
436 2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
437
438 PR c++/47795
439 * semantics.c (finish_non_static_data_member): Early return if
440 object is error_mark_node.
441
442 2011-02-18 Dodji Seketeli <dodji@redhat.com>
443
444 PR c++/47208
445 * pt.c (do_auto_deduction): Do not mention error_mark_node in
446 diagnostics.
447 * semantics.c (finish_id_expression): Do not pass erroneous decl
448 to decl_constant_var_p.
449
450 2011-02-17 Jakub Jelinek <jakub@redhat.com>
451
452 PR c++/47783
453 * cvt.c (convert_from_reference): Call mark_exp_read.
454
455 2011-02-11 Dodji Seketeli <dodji@redhat.com>
456
457 PR c++/47172
458 * pt.c (finish_call_expr): Consider a call expression that has a
459 dependent "this" pointer as being dependent. Add comments.
460 (dependent_type_p, type_dependent_expression_p): Update comments.
461
462 2011-02-16 Dodji Seketeli <dodji@redhat.com>
463
464 PR c++/47326
465 * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
466 expansion arguments are not evaluated.
467
468 2011-02-16 Jakub Jelinek <jakub@redhat.com>
469
470 PR c++/47704
471 * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
472 instead of TYPE_LANG_FLAG_3.
473 * pt.c (lookup_template_class): Copy over
474 ENUM_FIXED_UNDERLYING_TYPE_P.
475
476 2011-02-15 Jason Merrill <jason@redhat.com>
477
478 PR c++/46807
479 * method.c (synthesized_method_walk): Always exit early for
480 trivial fn in C++98 mode.
481
482 2011-02-14 Jason Merrill <jason@redhat.com>
483
484 PR c++/47482
485 * parser.c (cp_parser_enumerator_definition): Call
486 fold_non_dependent_expr.
487
488 2011-02-09 Jason Merrill <jason@redhat.com>
489
490 * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
491 * semantics.c (finish_fname): Only return the name if we're in
492 a function.
493
494 * decl.c (build_enumerator): Don't perform integral promotions on
495 non-integral constants.
496
497 * cvt.c (convert_to_void): Handle null op1.
498
499 * class.c (type_has_constexpr_default_constructor): Make sure the
500 caller stripped an enclosing array.
501 * init.c (perform_member_init): Strip arrays before calling it.
502
503 PR c++/47511
504 * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
505
506 2011-02-03 Dodji Seketeli <dodji@redhat.com>
507
508 PR c++/47398
509 * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
510 template parameters in account.
511
512 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
513
514 PR c++/46890
515 * parser.c (cp_parser_class_specifier): Fix setting of
516 want_semicolon.
517
518 2011-01-31 Jakub Jelinek <jakub@redhat.com>
519
520 PR c++/47416
521 * semantics.c (build_data_member_initialization): Handle
522 STATEMENT_LIST always instead of just for CLEANUP_BODY.
523
524 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
525
526 * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
527 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
528
529 2011-01-29 Dodji Seketeli <dodji@redhat.com>
530
531 PR c++/47311
532 * cp-tree.h (fixup_template_parms): Declare.
533 * pt.c (end_template_parm_list): Do not fixup template parms here.
534 (fixup_template_parms): Remove static. Fix typo in the
535 comments. Remove useless code statement.
536 (fixup_template_parm): For a template template parameter, fixup
537 its attributes before fixing up its type.
538 * parser.c
539 (cp_parser_template_declaration_after_export): After parsing
540 template parameters fixup their types.
541
542 2011-01-26 Jakub Jelinek <jakub@redhat.com>
543
544 PR c++/47476
545 * semantics.c (potential_constant_expression_1): Handle
546 TRUTH_XOR_EXPR.
547
548 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
549
550 PR c++/43601
551 * semantics.c (expand_or_defer_fn_1): Handle it.
552 * decl2.c (decl_needed_p): Likewise.
553
554 2011-01-21 Jason Merrill <jason@redhat.com>
555
556 PR c++/47041
557 * semantics.c (build_constexpr_constructor_member_initializers):
558 Handle trivial copy.
559
560 2011-01-21 Jakub Jelinek <jakub@redhat.com>
561
562 PR c++/47388
563 * semantics.c (begin_for_stmt): If -fno-for-scope, don't
564 assume init must be NULL if scope is NULL.
565 (begin_range_for_stmt): Likewise.
566
567 2011-01-21 Jason Merrill <jason@redhat.com>
568
569 PR c++/46552
570 * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
571
572 PR c++/46977
573 * semantics.c (potential_constant_expression_1): Split out from
574 potential_constant_expression. Add want_rval parm. Handle
575 template expression forms. Don't enforce restriction on address
576 of automatic variable here. Add a couple of diagnostics that
577 had been missing.
578 (require_potential_constant_expression): New entry point.
579 (build_data_member_initialization, register_constexpr_fundef): Adjust.
580 (maybe_constant_value): Check potential_constant_expression.
581 * pt.c (fold_non_dependent_expr_sfinae): Likewise.
582 * tree.c (build_vec_init_expr): Adjust.
583
584 2011-01-19 Jakub Jelinek <jakub@redhat.com>
585
586 PR c++/47303
587 * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
588 or DECL_EXTERNAL.
589
590 2011-01-17 Jason Merrill <jason@redhat.com>
591
592 PR c++/47067
593 * semantics.c (base_field_constructor_elt): New fn.
594 (cxx_eval_bare_aggregate): Use it.
595 (build_data_member_initialization): Leave COMPONENT_REF for
596 vfield inits.
597
598 2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
599
600 * parser.c (cp_parser_range_for): Remove the "unused variable" warning
601 workaround.
602
603 2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
604 Jonathan Wakely <jwakely.gcc@gmail.com>
605
606 PR c++/33558
607 * decl.c (grokdeclarator): Reject mutable reference members.
608
609 2011-01-14 Jason Merrill <jason@redhat.com>
610
611 PR c++/47289
612 * pt.c (coerce_template_parms): Fix error recovery.
613
614 PR c++/46903
615 * typeck2.c (check_narrowing): Only check arithmetic types.
616
617 PR c++/46688
618 * tree.c (build_vec_init_expr): Handle flexible array
619 properly.
620
621 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
622
623 PR c++/47213
624 * cp-tree.h (CLASSTYPE_VISIBILITY): Use
625 TYPE_MAIN_DECL instead of TYPE_NAME.
626 (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
627 * decl2.c (determine_visibility): Add check
628 of CLASS_TYPE_P for underlying_type.
629
630 2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
631
632 * cp-tree.h (begin_for_scope): New prototype.
633 (begin_for_stmt): Update prototype.
634 (begin_range_for_stmt): Update prototype.
635 * init.c (build_vec_init): Update call to begin_for_stmt.
636 * parser.c (cp_parser_for): New.
637 (cp_parser_c_for): Add three new parameters.
638 (cp_parser_range_for): Likewise. Most parsing code removed.
639 (cp_parser_iteration_statement): Call cp_parser_for instead of
640 cp_parser_c_for and cp_parser_range_for.
641 (cp_parser_for_init_statement): Add new parameter and return type.
642 (cp_parser_block_declaration): Update call to
643 cp_parser_simple_declaration.
644 (cp_parser_simple_declaration): Add new parameter.
645 Update call to cp_parser_init_declarator.
646 (cp_parser_init_declarator): Add new parameter.
647 * pt.c (tsubst_expr): Update call to begin_for_stmt.
648 * semantics.c (begin_for_scope): New.
649 (begin_for_stmt): Add two new parameters.
650 (begin_range_for_stmt): Likewise.
651
652 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
653
654 * parser.c (cp_parser_objc_at_property_declaration): Improved
655 error message.
656
657 2011-01-11 Dodji Seketeli <dodji@redhat.com>
658
659 PR debug/46955
660 * cp-lang.c (get_template_innermost_arguments_folded)
661 (get_template_argument_pack_elems_folded)
662 (template_arg_needs_folding, fold_cplus_constants): New static
663 functions.
664 (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
665 get_template_innermost_arguments_folded.
666 (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
667 get_template_argument_pack_elems_folded.
668
669 2011-01-11 Jason Merrill <jason@redhat.com>
670
671 PR c++/46658
672 * init.c (build_new_1): Handle value-init in templates differently.
673
674 PR c++/45520
675 * tree.c (maybe_dummy_object): Check current_class_ref against
676 context, not current_class_type.
677
678 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
679
680 PR objc/47078
681 * parser.c (cp_parser_objc_typename): If the type is unknown, for
682 error recovery purposes behave as if it was not specified so that
683 the default type is used.
684
685 2011-01-07 Jakub Jelinek <jakub@redhat.com>
686
687 PR c++/47022
688 * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy
689 for the second build_x_va_arg argument.
690
691 2011-01-05 Tom Tromey <tromey@redhat.com>
692
693 * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error.
694 (lvalue_or_else): Likewise.
695
696 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
697
698 PR target/38662
699 * tree.c (cxx_type_hash_eq):
700 Allow METHOD_TYPE, too.
701
702 \f
703 Copyright (C) 2011 Free Software Foundation, Inc.
704
705 Copying and distribution of this file, with or without modification,
706 are permitted in any medium without royalty provided the copyright
707 notice and this notice are preserved.