OSDN Git Service

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