OSDN Git Service

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