1 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
4 * parser.c (cp_parser_elaborated_type_specifier): Don't call
5 check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
6 * decl.c (check_elaborated_type_specifier): Tidy.
8 2013-03-06 Jakub Jelinek <jakub@redhat.com>
11 * tree.c (strip_typedefs): Don't copy args if they are NULL.
13 2013-02-22 Jason Merrill <jason@redhat.com>
16 * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
17 if we got the wrong number of template parms.
20 * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
23 2013-02-19 Jakub Jelinek <jakub@redhat.com>
25 Backported from mainline
26 2013-02-07 Jakub Jelinek <jakub@redhat.com>
29 * init.c (build_vec_init): Don't append NULL values into new_vec.
30 (build_zero_init_1): Don't push anything into v if recursive call
32 (build_value_init_noctor): Don't push anything into v if
33 build_value_init call returned NULL_TREE.
36 * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
37 (cp_parser_tokens_start_cast_expression): ... this. Change parameter
38 to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
39 return true only if 2nd token isn't CPP_CLOSE_PAREN.
40 (cp_parser_cast_expression): Adjust caller.
43 * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
44 only if DECL_DISCRIMINATOR_SET_P (t) rather than just
45 DECL_LANG_SPECIFIC (t).
47 2013-02-15 Jason Merrill <jason@redhat.com>
50 * semantics.c (finish_id_expression): Also return the identifier
51 for an outer local static.
54 * semantics.c (finish_id_expression): In a template, return
55 the identifier for a constant variable.
58 * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
62 * pt.c (tsubst_copy_and_build): Don't forget any new
63 captures that arose from use of dependent names.
65 2013-02-12 Jason Merrill <jason@redhat.com>
68 * semantics.c (sort_constexpr_mem_initializers): Handle
71 2013-02-11 Jason Merrill <jason@redhat.com>
74 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
75 maybe_instantiate_noexcept.
77 2013-02-09 Jason Merrill <jason@redhat.com>
80 * pt.c (eq_specializations): Set comparing_specializations.
81 * tree.c (cp_tree_equal): Check it.
82 * cp-tree.h: Declare it.
84 2013-02-05 Jason Merrill <jason@redhat.com>
87 * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
90 2013-02-01 Jakub Jelinek <jakub@redhat.com>
92 Backported from mainline
93 2012-12-13 Jakub Jelinek <jakub@redhat.com>
96 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
99 2012-12-06 Jakub Jelinek <jakub@redhat.com>
102 * except.c (build_noexcept_spec): Avoid direct comparison
103 with boolean_true_node or boolean_false_node, instead use
104 operand_equal_p and/or INTEGER_CST check.
105 * pt.c (tsubst_exception_specification): Likewise.
106 * typeck2.c (merge_exception_specifiers): Likewise.
108 2012-12-01 Jakub Jelinek <jakub@redhat.com>
111 * pt.c (make_ith_pack_parameter_name): Return NULL if
113 (tsubst_decl): Call make_ith_pack_parameter_name even if
116 2012-11-23 Jakub Jelinek <jakub@redhat.com>
119 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
120 * cp-objcp-common.c (cxx_block_may_fallthru): New function.
121 * cp-tree.h (cxx_block_may_fallthru): New prototype.
123 2013-01-25 Jason Merrill <jason@redhat.com>
126 * typeck.c (get_member_function_from_ptrfunc): Don't fold
129 2013-01-22 Jason Merrill <jason@redhat.com>
131 * call.c (type_has_extended_temps): Fix C++ism.
134 * call.c (type_has_extended_temps): New.
135 * cp-tree.h: Declare it.
136 * decl.c (check_initializer): Use build_aggr_init for arrays
138 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
141 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
143 2013-01-21 Jason Merrill <jason@redhat.com>
146 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
149 2013-01-09 Jason Merrill <jason@redhat.com>
152 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
155 2013-01-08 Joel Brobecker <brobecker@adacore.com>
157 * parser.c (cp_parser_initializer_list): Move declaration
158 of variable non_const to start of lexical block.
160 2013-01-04 Jason Merrill <jason@redhat.com>
163 * decl.c (reset_type_linkage, bt_reset_linkage): New.
164 (grokdeclarator): Use reset_type_linkage.
165 * name-lookup.c (binding_table_foreach): Handle null table.
166 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
168 2013-01-03 Jason Merrill <jason@redhat.com>
172 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
176 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
179 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
181 2013-01-02 Jason Merrill <jason@redhat.com>
184 * call.c (build_new_method_call_1): Don't use build_value_init for
185 user-provided default constructors.
189 * tree.c (build_cplus_array_type): Copy layout information
190 to main variant if necessary.
192 2012-12-19 Jason Merrill <jason@redhat.com>
195 * pt.c (type_unification_real): Re-combine post-deduction loops.
197 2012-12-11 Jason Merrill <jason@redhat.com>
200 * decl2.c (min_vis_r): Handle anon visibility for enums.
202 2012-12-11 Jakub Jelinek <jakub@redhat.com>
205 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
207 2012-12-07 Jason Merrill <jason@redhat.com>
210 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
212 2012-12-07 Matthias Klose <doko@ubuntu.com>
214 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
216 2012-12-06 Jason Merrill <jason@redhat.com>
219 * tree.c (build_aggr_init_expr): Don't check for abstract class.
220 (build_cplus_new): Check here instead.
223 * pt.c (tsubst): Keep the quals when looking through a typedef.
226 * tree.c (build_vec_init_elt): Use the type of the initializer.
229 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
232 * parser.c (cp_parser_initializer_list): Don't require an
233 expression in [] to be constant until we know it's a C99
238 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
239 * decl.c (start_preparsed_function): Make local class methods comdat
242 2012-11-29 Jason Merrill <jason@redhat.com>
245 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
246 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
247 (instantiate_class_template_1): Not here.
250 * pt.c (tsubst_arg_types): Add "end" parameter.
251 (check_undeduced_parms): Use it.
254 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
257 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
258 (struct template_parm_index_s): Remove num_siblings.
259 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
260 (fixup_template_type_parm_type): Remove.
261 (build_template_parm_index): Remove num_siblings parm.
262 (process_template_parm): Likewise.
263 * parser.c (cp_parser_template_parameter_list): Adjust.
264 * tree.c (cp_tree_equal): Don't compare num_siblings.
265 * typeck.c (comp_template_parms_position): Likewise.
269 * tree.c (strip_typedefs_expr): New.
270 * cp-tree.h: Declare it.
271 * pt.c (convert_template_argument, unify): Use it.
272 * parser.c (cp_parser_template_declaration_after_export): Don't call
273 fixup_template_parms.
275 2012-11-29 Kai Tietz <ktietz@redhat.com>
278 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
279 (dump_vtable): Likewise.
281 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
284 * init.c (build_vec_init): Do not early return error_mark_mode
285 when integer_all_onesp (maxindex).
287 2012-11-05 Jakub Jelinek <jakub@redhat.com>
289 Backported from mainline
290 2012-10-23 Jakub Jelinek <jakub@redhat.com>
293 * decl2.c (cplus_decl_attributes): Don't return early
294 if attributes is NULL.
296 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
299 * init.c (build_new): Don't turn a null *init into a pointer to
300 empty vector orig_init.
302 2012-10-08 Jakub Jelinek <jakub@redhat.com>
305 * tree.c (cp_tree_equal): Handle FIELD_DECL.
307 2012-10-03 Jakub Jelinek <jakub@redhat.com>
310 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
311 not ignoring the second operand, pass the original second operand
312 and not one with stripped nops to cxx_eval_constant_expression.
314 2012-09-20 Release Manager
316 * GCC 4.7.2 released.
318 2012-09-14 Jason Merrill <jason@redhat.com>
321 * typeck2.c (check_narrowing): Avoid false positives on conversion
324 2012-09-13 Jason Merrill <jason@redhat.com>
327 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
328 address, make sure the value is constant.
330 2012-09-13 Jason Merrill <jason@redhat.com>
333 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
335 2012-09-13 Jason Merrill <jason@redhat.com>
338 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
341 2012-09-10 Jason Merrill <jason@redhat.com>
344 * decl.c (move_signature_fn_p): Split out from move_fn_p.
345 * method.c (process_subob_fn): Use it.
346 * cp-tree.h: Declare it.
350 * semantics.c (sort_constexpr_mem_initializers): New.
351 (build_constexpr_constructor_member_initializers): Use it.
352 (cx_check_missing_mem_inits): Skip artificial fields.
353 * init.c (expand_aggr_init_1): Don't zero out a class
357 * decl.c (grokdeclarator): Allow const and constexpr together.
359 2012-08-31 Ollie Wild <aaw@google.com>
362 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
364 2012-07-20 Jason Merrill <jason@redhat.com>
367 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
368 canonical array type rather than mess with its TYPE_*_VARIANT.
370 2012-07-19 Jason Merrill <jason@redhat.com>
373 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
375 2012-07-18 Jason Merrill <jason@redhat.com>
377 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
378 before trying to store through it.
380 2012-07-17 Jason Merrill <jason@redhat.com>
383 * decl.c (finish_enum_value_list): Only call
384 insert_late_enum_def_into_classtype_sorted_fields in class scope.
386 2012-07-17 Jason Merrill <jason@redhat.com>
389 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
390 to the list of variants.
392 2012-07-17 Jason Merrill <jason@redhat.com>
395 * parser.c (cp_parser_class_head): Call xref_basetypes here.
396 (cp_parser_class_specifier_1): Not here.
397 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
398 as well as DECL_DEPENDENT_P.
400 2012-07-13 Jason Merrill <jason@redhat.com>
403 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
405 2012-07-10 Jason Merrill <jason@redhat.com>
409 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
410 (struct lang_decl_fn): Add suppress_implicit_decl field.
411 * method.c (implicitly_declare_fn): Check it.
412 (process_subob_fn): Add no_implicit_p parm.
413 (walk_field_subobs, synthesized_method_walk): Likewise.
414 (maybe_explain_implicit_delete): Adjust.
415 (explain_implicit_non_constexpr): Adjust.
417 * method.c (synthesized_method_walk): Cleanups don't affect the EH
420 2012-07-02 Jason Merrill <jason@redhat.com>
423 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
424 (current_function_decl) instead of processing_template_decl.
427 * semantics.c (maybe_add_lambda_conv_op): Don't set
428 DECL_INTERFACE_KNOWN.
430 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
433 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
435 * class.c (insert_into_classtype_sorted_fields): New.
436 (add_enum_fields_to_record_type): New.
437 (count_fields): Adjust the comment.
438 (add_fields_to_record_type): Likewise.
439 (finish_struct_1): Move the code that inserts the fields for the
440 sorted case, into insert_into_classtype_sorted_fields, and call
442 (insert_late_enum_def_into_classtype_sorted_fields): Define.
443 * decl.c (finish_enum_value_list): Call
444 insert_late_enum_def_into_classtype_sorted_fields if a late enum
445 definition is encountered.
447 2012-06-25 Jason Merrill <jason@redhat.com>
451 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
454 * typeck.c (decay_conversion): Don't discard side-effects from
455 expressions of nullptr_t.
458 * semantics.c (build_data_member_initialization): Always keep
459 initializer for empty base.
460 (cxx_eval_bare_aggregate): Discard it here.
462 2012-06-25 Jakub Jelinek <jakub@redhat.com>
465 * class.c (check_bases_and_members): Avoid -Wuninitialized
466 diagnostics for non-static const members or references if they
469 2012-06-19 Jason Merrill <jason@redhat.com>
472 * name-lookup.c (constructor_name_p): Don't try to look at the
473 name of a DECLTYPE_TYPE.
477 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
478 (instantiate_decl): Don't push_to_top_level for local class methods.
479 (instantiate_class_template_1): Or for local classes.
482 * pt.c (lookup_template_class_1): Use ts_global.
484 2012-06-14 Richard Guenther <rguenther@suse.de>
486 Backport from mainline
487 2012-06-11 Richard Guenther <rguenther@suse.de>
490 * mangle.c (write_array_type): Use double-ints for array domain
493 2012-06-14 Richard Guenther <rguenther@suse.de>
495 Backport from mainline
496 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
499 * parser.c (cp_parser_alias_declaration): Return earlier
502 2012-06-14 Release Manager
504 * GCC 4.7.1 released.
506 2012-06-12 Jason Merrill <jason@redhat.com>
511 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
512 (instantiate_decl): Don't push_to_top_level for local class methods.
513 (instantiate_class_template_1): Or for local classes.
515 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
518 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
519 to control enumeral mismatch in conditional expression too.
521 2012-06-01 Jason Merrill <jason@redhat.com>
524 * parser.c (cp_parser_class_head): Apply attributes here.
525 * semantics.c (begin_class_definition): Not here.
529 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
530 tentatively and the LHS has a parse error.
532 2012-06-01 Jason Merrill <jason@redhat.com>
535 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
536 (instantiate_decl): Don't push_to_top_level for local class methods.
537 (instantiate_class_template_1): Or for local classes.
540 * pt.c (do_auto_deduction): Don't try to deduce from a
541 type-dependent initializer.
543 2012-05-31 Jason Merrill <jason@redhat.com>
547 * call.c (joust): Handle comparing list and non-list ctors.
549 2012-05-30 Jason Merrill <jason@redhat.com>
552 * tree.c (stabilize_init): Side effects make the init unstable.
554 2012-05-30 Jason Merrill <jason@redhat.com>
557 * call.c (convert_like_real) [ck_list]: Take array address directly.
558 * typeck.c (decay_conversion): Reject decay of an array compound
561 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
564 * tree.c (stabilize_expr): Handle exp of void type.
566 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
569 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
571 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
574 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
576 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
579 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
580 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
582 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
585 * call.c (build_over_call): Handle final member functions
587 (build_new_method_call_1): Do not handle here.
589 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
592 * parser.c (cp_parser_member_declaration): Check that
593 initializer_token_start is non null before dereferencing it.
595 2012-04-16 Jason Merrill <jason@redhat.com>
598 * pt.c (determine_specialization): Instead of comparing the number
599 of parms, check that tsubst gives the right answer.
602 * pt.c (convert_template_argument): Handle template template
606 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
609 2012-04-15 Jason Merrill <jason@redhat.com>
613 * pt.c (coerce_template_parms): Even if we aren't converting we
614 want to expand argument packs.
616 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
619 * parser.c (cp_parser_class_name): Call strip_using_decl and
620 return the target decl.
621 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
622 to be stripped is NULL_TREE.
623 (qualify_lookup): Call strip_using_decl and perform some checks on
626 2012-04-13 Jason Merrill <jason@redhat.com>
629 * pt.c (any_pack_expanson_args_p): New.
630 (coerce_template_parms): Use it.
632 2012-04-11 Jason Merrill <jason@redhat.com>
635 * decl.c (check_tag_decl): Don't complain about attributes if we
636 don't even have a type.
638 2012-04-05 Jason Merrill <jason@redhat.com>
641 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
644 2012-04-03 Jason Merrill <jason@redhat.com>
647 * pt.c (tsubst_initializer_list): A pack expansion with no elements
648 means value-initialization.
650 2012-03-29 Meador Inge <meadori@codesourcery.com>
653 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
654 stripped child trees that are not pointer types.
656 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
659 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
660 warn for a zero as null pointer constant default argument.
662 2012-03-29 Jason Merrill <jason@redhat.com>
665 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
667 2012-03-29 Jakub Jelinek <jakub@redhat.com>
670 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
671 if processing_template_decl.
673 2012-03-29 Jason Merrill <jason@redhat.com>
676 * call.c (compare_ics): Handle ck_aggr like ck_list.
678 2012-03-28 Jason Merrill <jason@redhat.com>
681 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
682 we didn't get an explicit scope.
683 * pt.c (tsubst_baselink): Likewise.
685 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
688 * class.c (check_field_decls): Call literal_type_p only
691 2012-03-22 Jakub Jelinek <jakub@redhat.com>
694 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
695 on CLASS_TYPE_P types.
697 2012-03-22 Jason Merrill <jason@redhat.com>
700 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
702 2012-03-22 Jakub Jelinek <jakub@redhat.com>
704 Backported from mainline
705 2012-03-14 Jakub Jelinek <jakub@redhat.com>
708 * parser.c (lookup_literal_operator): Return fn only if
709 processed all arguments from args vector and argtypes is
712 2012-03-22 Release Manager
714 * GCC 4.7.0 released.
716 2012-03-20 Jason Merrill <jason@redhat.com>
718 * mangle.c (write_type): Handle 'auto'.
719 * init.c (build_new): Don't do auto deduction where it might
720 affect template mangling.
722 2012-03-07 Jason Merrill <jason@redhat.com>
725 * mangle.c (write_literal_operator_name): The length comes after the
728 2012-02-29 Jason Merrill <jason@redhat.com>
731 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
732 (shadow_tag): From here.
733 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
735 2012-02-21 Jakub Jelinek <jakub@redhat.com>
738 * typeck.c (check_literal_operator_args): Initialize *long_double_p
739 and *long_long_unsigned_p even if processing_template_decl.
741 2012-02-16 Jason Merrill <jason@redhat.com>
744 * decl.c (define_label): Use timevar_cond_start/stop.
746 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
749 * decl.c (xref_basetypes): call dependent_scope_p instead of
752 2012-02-16 Jason Merrill <jason@redhat.com>
755 * error.c (dump_expr): Handle lambda closures specifically.
757 2012-02-14 Jason Merrill <jason@redhat.com>
759 * parser.c (cp_parser_explicit_instantiation): Give a warning
760 for ignored attributes on explicit class instantiation.
762 2012-02-14 Jakub Jelinek <jakub@redhat.com>
765 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
766 lookup_label on label's name and set TREE_USED.
768 2012-02-14 Jason Merrill <jason@redhat.com>
771 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
773 2012-02-14 Jakub Jelinek <jakub@redhat.com>
776 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
777 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
779 2012-02-07 Jason Merrill <jason@redhat.com>
782 * semantics.c (cx_check_missing_mem_inits): Handle unions.
783 Fix constexpr default constructor logic.
786 * pt.c (tsubst): Strip uninstantiated typedef.
788 2012-02-06 Jason Merrill <jason@redhat.com>
791 * cvt.c (build_expr_type_conversion): Check for template conversion.
793 2012-01-31 Jason Merrill <jason@redhat.com>
796 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
797 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
798 (tsubst_pack_expansion): Check it.
800 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
803 * class.c (explain_non_literal_class): Correctly handle implicitly
804 deleted constructors.
806 2012-01-27 Jakub Jelinek <jakub@redhat.com>
809 * pt.c (tsubst_pack_expansion): Delete and restore
810 local_specialization whenever need_local_specialization, not just
811 when saved_local_specializations is non-NULL.
813 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
816 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
817 as TREE_OPERAND (t, 1).
819 2012-01-24 Jason Merrill <jason@redhat.com>
822 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
825 * tree.c (called_fns_equal): Check template args.
826 (cp_tree_equal): Call it.
828 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
829 Patrick Marlier <patrick.marlier@gmail.com>
832 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
833 thunk for set_one_vmethod_tm_attributes.
835 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
838 * call.c (build_over_call): Check for error_mark_node as
839 TREE_VALUE when default arguments are processed.
841 2012-01-23 Jason Merrill <jason@redhat.com>
844 * decl2.c (determine_visibility): Check for visibility attribute
845 on template specialization.
847 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
850 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
852 2012-01-23 Jason Merrill <jason@redhat.com>
855 * class.c (add_method): Set OVL_USED for using-decls.
856 * tree.c (ovl_scope): New.
857 * cp-tree.h: Declare it.
858 * parser.c (cp_parser_template_name): Use it.
859 * semantics.c (baselink_for_fns): Likewise.
860 * name-lookup.c (set_inherited_value_binding_p): Likewise.
862 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
865 * pt.c (lookup_template_class_1): Check context returned by
866 tsubst for error_mark_node.
868 2012-01-19 Kai Tietz <ktietz@redhat.com>
871 * decl2.c (save_template_attributes): Use merge_attributes
872 instead of chaining up via TREE_CHAIN.
874 2012-01-19 Jason Merrill <jason@redhat.com>
877 * class.c (finish_struct): Call add_method here for function usings.
878 * semantics.c (finish_member_declaration): Not here.
880 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
883 * typeck2.c (store_init_value): Within a template guard
884 cxx_constant_value with require_potential_constant_expression.
885 * pt.c (convert_nontype_argument): Likewise.
887 2012-01-16 Jakub Jelinek <jakub@redhat.com>
890 * mangle.c (write_template_arg_literal): Handle complex.
892 2012-01-16 Jason Merrill <jason@redhat.com>
895 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
898 * typeck.c (build_static_cast_1): Handle bit-fields properly.
900 2012-01-13 Ian Lance Taylor <iant@google.com>
903 * typeck.c (enum_cast_to_int): New static function.
904 (cp_build_binary_op): When handling warn_sign_compare, don't test
905 for TREE_NO_WARNING. Do call enum_cast_to_int.
906 * call.c (avoid_sign_compare_warnings): Remove static function.
907 (build_new_op_1): Don't call avoid_sign_compare_warnings.
909 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
911 * decl2.c: Do not include tree-mudflap.h
912 * semantics.c: Likewise.
914 2012-01-13 Jason Merrill <jason@redhat.com>
917 * semantics.c (finish_break_stmt): Avoid adding an unreachable
921 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
922 when reducing the visibility.
925 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
927 2012-01-12 Jason Merrill <jason@redhat.com>
930 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
933 2012-01-13 Dodji Seketeli <dodji@redhat.com>
936 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
937 Set the pointer to the last block of the constructor to the
939 (build_constexpr_constructor_member_initializers): Get
940 build_data_member_initialization a chance to deal with more
941 statements before we choke.
943 2012-01-12 Jason Merrill <jason@redhat.com>
946 * mangle.c (write_expression): Mangle BASELINK scope if
947 BASELINK_QUALIFIED_P.
948 * search.c (adjust_result_of_qualified_name_lookup): Set
949 BASELINK_QUALIFIED_P.
950 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
951 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
952 adjust_result_of_qualified_name_lookup for non-qualified names.
955 * pt.c (unify): Handle error_mark_node.
957 2012-01-11 Jason Merrill <jason@redhat.com>
960 * call.c (standard_conversion): For ptrmemfuncs, compare the
964 * mangle.c (find_substitution): A type is only a substitution
965 match if we're looking for a type.
966 (write_nested_name): Use decl_mangling_context.
968 * decl.c (decls_match): Assert that the arguments are decls.
971 * pt.c (resolve_overloaded_unification): Compare types with
972 same_type_p, not decls_match.
974 2012-01-10 Jason Merrill <jason@redhat.com>
977 * class.c (build_base_path): Diagnose ambiguous base.
980 * semantics.c (cxx_eval_call_expression): Always retry previously
981 non-constant expressions.
983 2012-01-06 Jason Merrill <jason@redhat.com>
987 * parser.c (cp_parser_new_expression): Set
988 type_definition_forbidden_message.
994 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
995 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
997 (write_template_arg): Fix mangling of class-scope functions and
999 (mangle_decl): Update suggested -fabi-version argument.
1000 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
1001 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
1002 * tree.c (dependent_name): No longer static.
1003 * cp-tree.h: Declare it.
1004 * pt.c (unify): Defer handling of unconverted functions.
1006 * mangle.c (mangle_decl): Don't generate mangling aliases
1007 for maybe-in-charge [cd]tors.
1009 * error.c (dump_expr): Print type of CONSTRUCTOR.
1011 2012-01-05 Dodji Seketeli <dodji@redhat.com>
1014 * parser.c (cp_parser_alias_declaration): Get out early upon
1015 errors in the identifier or the attributes.
1017 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1020 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
1021 the tree returned by build_x_binary_op.
1023 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1026 * parser.c (cp_parser_postfix_open_square_expression): Handle
1027 postfix-expression [ braced-init-list ].
1029 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1032 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
1033 call decay_conversion on v.
1035 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1038 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
1039 declaration followed by specialization.
1041 2012-01-03 Jakub Jelinek <jakub@redhat.com>
1044 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
1045 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
1047 2012-01-02 Jason Merrill <jason@redhat.com>
1051 * method.c (walk_field_subobs): Don't check for uninitialized
1053 (synthesized_method_walk): Check here.
1057 * parser.c (cp_parser_cache_defarg): Split out...
1058 (cp_parser_parameter_declaration): ...from here.
1059 (cp_parser_save_nsdmi): Use it.
1060 (cp_parser_cache_group): Remove CPP_COMMA support.
1062 2012-01-02 Dodji Seketeli <dodji@redhat.com>
1065 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
1068 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
1071 * typeck2.c (digest_init_r): Use copy_init when initializing
1074 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1077 * decl.c (build_enumerator): Don't call perform_integral_promotions
1080 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1083 * typeck.c (build_reinterpret_cast_1): Implement resolution of
1086 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
1088 * parser.c (cp_parser_using_declaration): Add a warning about
1089 deprecated access declarations when no errors were encountered
1090 while parsing the access declaration. Save the first token in
1091 order to emit the warning at the right place.
1093 Copyright (C) 2012 Free Software Foundation, Inc.
1095 Copying and distribution of this file, with or without modification,
1096 are permitted in any medium without royalty provided the copyright
1097 notice and this notice are preserved.