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