1 2013-08-20 Jason Merrill <jason@redhat.com>
4 * cp-tree.h (WILDCARD_TYPE_P): Split out from...
5 (MAYBE_CLASS_TYPE_P): ...here.
6 * cvt.c (build_expr_type_conversion): Don't complain about a
7 template that can't match the desired type category.
9 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
12 * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
13 expressions of nullptr_t.
14 * typeck.c (build_ptrmemfunc): Likewise.
16 2013-07-09 Jason Merrill <jason@redhat.com>
19 * typeck.c (check_return_expr): Lambda proxies aren't eligible
20 for nrv or return by move.
23 * pt.c (convert_nontype_argument) [INTEGER_CST]: Force the
24 argument to have the exact type of the parameter.
27 * semantics.c (cxx_eval_indirect_ref): Don't try to look through
28 a POINTER_PLUS_EXPR for type punning diagnostic.
31 * pt.c (tsubst_copy): Handle USING_DECL.
33 2013-05-20 Jason Merrill <jason@redhat.com>
36 * tree.c (build_cplus_array_type): Copy layout info if element
39 2013-05-09 Jason Merrill <jason@redhat.com>
42 * semantics.c (cxx_fold_indirect_ref): Fix thinko.
44 2013-04-21 Eric Botcazou <ebotcazou@adacore.com>
46 * parser.c (cp_parser_late_return_type_opt): Fix C++ism.
48 2013-04-15 Jason Merrill <jason@redhat.com>
51 * semantics.c (insert_capture_proxy): Just use index 1 in the
54 2013-04-11 Release Manager
58 2013-04-03 Jakub Jelinek <jakub@redhat.com>
61 * tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
62 from args to new_args.
63 (strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
64 r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
66 2013-04-01 Jason Merrill <jason@redhat.com>
69 * parser.c (cp_parser_range_for): Don't try to do auto deduction
70 in a template if the type of the range is incomplete.
72 2013-03-29 Jason Merrill <jason@redhat.com>
76 * pt.c (unify_pack_expansion): Fix indexing.
78 2013-03-23 Jason Merrill <jason@redhat.com>
81 * semantics.c (lambda_capture_field_type): Don't build a
82 magic decltype for pointer types.
83 (lambda_proxy_type): Likewise.
84 (finish_non_static_data_member): Get the quals from
87 2013-03-20 Jason Merrill <jason@redhat.com>
90 * parser.c (cp_parser_late_return_type_opt): Save and restore
91 current_class_ptr/ref.
93 2013-03-14 Jason Merrill <jason@redhat.com>
96 * decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
98 2013-03-14 Jakub Jelinek <jakub@redhat.com>
101 * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead
104 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
107 * parser.c (cp_parser_elaborated_type_specifier): Don't call
108 check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
109 * decl.c (check_elaborated_type_specifier): Tidy.
111 2013-03-06 Jakub Jelinek <jakub@redhat.com>
114 * tree.c (strip_typedefs): Don't copy args if they are NULL.
116 2013-02-22 Jason Merrill <jason@redhat.com>
119 * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
120 if we got the wrong number of template parms.
123 * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
126 2013-02-19 Jakub Jelinek <jakub@redhat.com>
128 Backported from mainline
129 2013-02-07 Jakub Jelinek <jakub@redhat.com>
132 * init.c (build_vec_init): Don't append NULL values into new_vec.
133 (build_zero_init_1): Don't push anything into v if recursive call
135 (build_value_init_noctor): Don't push anything into v if
136 build_value_init call returned NULL_TREE.
139 * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
140 (cp_parser_tokens_start_cast_expression): ... this. Change parameter
141 to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
142 return true only if 2nd token isn't CPP_CLOSE_PAREN.
143 (cp_parser_cast_expression): Adjust caller.
146 * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
147 only if DECL_DISCRIMINATOR_SET_P (t) rather than just
148 DECL_LANG_SPECIFIC (t).
150 2013-02-15 Jason Merrill <jason@redhat.com>
153 * semantics.c (finish_id_expression): Also return the identifier
154 for an outer local static.
157 * semantics.c (finish_id_expression): In a template, return
158 the identifier for a constant variable.
161 * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
165 * pt.c (tsubst_copy_and_build): Don't forget any new
166 captures that arose from use of dependent names.
168 2013-02-12 Jason Merrill <jason@redhat.com>
171 * semantics.c (sort_constexpr_mem_initializers): Handle
174 2013-02-11 Jason Merrill <jason@redhat.com>
177 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
178 maybe_instantiate_noexcept.
180 2013-02-09 Jason Merrill <jason@redhat.com>
183 * pt.c (eq_specializations): Set comparing_specializations.
184 * tree.c (cp_tree_equal): Check it.
185 * cp-tree.h: Declare it.
187 2013-02-05 Jason Merrill <jason@redhat.com>
190 * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
193 2013-02-01 Jakub Jelinek <jakub@redhat.com>
195 Backported from mainline
196 2012-12-13 Jakub Jelinek <jakub@redhat.com>
199 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
202 2012-12-06 Jakub Jelinek <jakub@redhat.com>
205 * except.c (build_noexcept_spec): Avoid direct comparison
206 with boolean_true_node or boolean_false_node, instead use
207 operand_equal_p and/or INTEGER_CST check.
208 * pt.c (tsubst_exception_specification): Likewise.
209 * typeck2.c (merge_exception_specifiers): Likewise.
211 2012-12-01 Jakub Jelinek <jakub@redhat.com>
214 * pt.c (make_ith_pack_parameter_name): Return NULL if
216 (tsubst_decl): Call make_ith_pack_parameter_name even if
219 2012-11-23 Jakub Jelinek <jakub@redhat.com>
222 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
223 * cp-objcp-common.c (cxx_block_may_fallthru): New function.
224 * cp-tree.h (cxx_block_may_fallthru): New prototype.
226 2013-01-25 Jason Merrill <jason@redhat.com>
229 * typeck.c (get_member_function_from_ptrfunc): Don't fold
232 2013-01-22 Jason Merrill <jason@redhat.com>
234 * call.c (type_has_extended_temps): Fix C++ism.
237 * call.c (type_has_extended_temps): New.
238 * cp-tree.h: Declare it.
239 * decl.c (check_initializer): Use build_aggr_init for arrays
241 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
244 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
246 2013-01-21 Jason Merrill <jason@redhat.com>
249 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
252 2013-01-09 Jason Merrill <jason@redhat.com>
255 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
258 2013-01-08 Joel Brobecker <brobecker@adacore.com>
260 * parser.c (cp_parser_initializer_list): Move declaration
261 of variable non_const to start of lexical block.
263 2013-01-04 Jason Merrill <jason@redhat.com>
266 * decl.c (reset_type_linkage, bt_reset_linkage): New.
267 (grokdeclarator): Use reset_type_linkage.
268 * name-lookup.c (binding_table_foreach): Handle null table.
269 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
271 2013-01-03 Jason Merrill <jason@redhat.com>
275 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
279 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
282 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
284 2013-01-02 Jason Merrill <jason@redhat.com>
287 * call.c (build_new_method_call_1): Don't use build_value_init for
288 user-provided default constructors.
292 * tree.c (build_cplus_array_type): Copy layout information
293 to main variant if necessary.
295 2012-12-19 Jason Merrill <jason@redhat.com>
298 * pt.c (type_unification_real): Re-combine post-deduction loops.
300 2012-12-11 Jason Merrill <jason@redhat.com>
303 * decl2.c (min_vis_r): Handle anon visibility for enums.
305 2012-12-11 Jakub Jelinek <jakub@redhat.com>
308 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
310 2012-12-07 Jason Merrill <jason@redhat.com>
313 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
315 2012-12-07 Matthias Klose <doko@ubuntu.com>
317 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
319 2012-12-06 Jason Merrill <jason@redhat.com>
322 * tree.c (build_aggr_init_expr): Don't check for abstract class.
323 (build_cplus_new): Check here instead.
326 * pt.c (tsubst): Keep the quals when looking through a typedef.
329 * tree.c (build_vec_init_elt): Use the type of the initializer.
332 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
335 * parser.c (cp_parser_initializer_list): Don't require an
336 expression in [] to be constant until we know it's a C99
341 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
342 * decl.c (start_preparsed_function): Make local class methods comdat
345 2012-11-29 Jason Merrill <jason@redhat.com>
348 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
349 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
350 (instantiate_class_template_1): Not here.
353 * pt.c (tsubst_arg_types): Add "end" parameter.
354 (check_undeduced_parms): Use it.
357 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
360 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
361 (struct template_parm_index_s): Remove num_siblings.
362 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
363 (fixup_template_type_parm_type): Remove.
364 (build_template_parm_index): Remove num_siblings parm.
365 (process_template_parm): Likewise.
366 * parser.c (cp_parser_template_parameter_list): Adjust.
367 * tree.c (cp_tree_equal): Don't compare num_siblings.
368 * typeck.c (comp_template_parms_position): Likewise.
372 * tree.c (strip_typedefs_expr): New.
373 * cp-tree.h: Declare it.
374 * pt.c (convert_template_argument, unify): Use it.
375 * parser.c (cp_parser_template_declaration_after_export): Don't call
376 fixup_template_parms.
378 2012-11-29 Kai Tietz <ktietz@redhat.com>
381 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
382 (dump_vtable): Likewise.
384 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
387 * init.c (build_vec_init): Do not early return error_mark_mode
388 when integer_all_onesp (maxindex).
390 2012-11-05 Jakub Jelinek <jakub@redhat.com>
392 Backported from mainline
393 2012-10-23 Jakub Jelinek <jakub@redhat.com>
396 * decl2.c (cplus_decl_attributes): Don't return early
397 if attributes is NULL.
399 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
402 * init.c (build_new): Don't turn a null *init into a pointer to
403 empty vector orig_init.
405 2012-10-08 Jakub Jelinek <jakub@redhat.com>
408 * tree.c (cp_tree_equal): Handle FIELD_DECL.
410 2012-10-03 Jakub Jelinek <jakub@redhat.com>
413 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
414 not ignoring the second operand, pass the original second operand
415 and not one with stripped nops to cxx_eval_constant_expression.
417 2012-09-20 Release Manager
419 * GCC 4.7.2 released.
421 2012-09-14 Jason Merrill <jason@redhat.com>
424 * typeck2.c (check_narrowing): Avoid false positives on conversion
427 2012-09-13 Jason Merrill <jason@redhat.com>
430 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
431 address, make sure the value is constant.
433 2012-09-13 Jason Merrill <jason@redhat.com>
436 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
438 2012-09-13 Jason Merrill <jason@redhat.com>
441 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
444 2012-09-10 Jason Merrill <jason@redhat.com>
447 * decl.c (move_signature_fn_p): Split out from move_fn_p.
448 * method.c (process_subob_fn): Use it.
449 * cp-tree.h: Declare it.
453 * semantics.c (sort_constexpr_mem_initializers): New.
454 (build_constexpr_constructor_member_initializers): Use it.
455 (cx_check_missing_mem_inits): Skip artificial fields.
456 * init.c (expand_aggr_init_1): Don't zero out a class
460 * decl.c (grokdeclarator): Allow const and constexpr together.
462 2012-08-31 Ollie Wild <aaw@google.com>
465 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
467 2012-07-20 Jason Merrill <jason@redhat.com>
470 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
471 canonical array type rather than mess with its TYPE_*_VARIANT.
473 2012-07-19 Jason Merrill <jason@redhat.com>
476 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
478 2012-07-18 Jason Merrill <jason@redhat.com>
480 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
481 before trying to store through it.
483 2012-07-17 Jason Merrill <jason@redhat.com>
486 * decl.c (finish_enum_value_list): Only call
487 insert_late_enum_def_into_classtype_sorted_fields in class scope.
489 2012-07-17 Jason Merrill <jason@redhat.com>
492 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
493 to the list of variants.
495 2012-07-17 Jason Merrill <jason@redhat.com>
498 * parser.c (cp_parser_class_head): Call xref_basetypes here.
499 (cp_parser_class_specifier_1): Not here.
500 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
501 as well as DECL_DEPENDENT_P.
503 2012-07-13 Jason Merrill <jason@redhat.com>
506 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
508 2012-07-10 Jason Merrill <jason@redhat.com>
512 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
513 (struct lang_decl_fn): Add suppress_implicit_decl field.
514 * method.c (implicitly_declare_fn): Check it.
515 (process_subob_fn): Add no_implicit_p parm.
516 (walk_field_subobs, synthesized_method_walk): Likewise.
517 (maybe_explain_implicit_delete): Adjust.
518 (explain_implicit_non_constexpr): Adjust.
520 * method.c (synthesized_method_walk): Cleanups don't affect the EH
523 2012-07-02 Jason Merrill <jason@redhat.com>
526 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
527 (current_function_decl) instead of processing_template_decl.
530 * semantics.c (maybe_add_lambda_conv_op): Don't set
531 DECL_INTERFACE_KNOWN.
533 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
536 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
538 * class.c (insert_into_classtype_sorted_fields): New.
539 (add_enum_fields_to_record_type): New.
540 (count_fields): Adjust the comment.
541 (add_fields_to_record_type): Likewise.
542 (finish_struct_1): Move the code that inserts the fields for the
543 sorted case, into insert_into_classtype_sorted_fields, and call
545 (insert_late_enum_def_into_classtype_sorted_fields): Define.
546 * decl.c (finish_enum_value_list): Call
547 insert_late_enum_def_into_classtype_sorted_fields if a late enum
548 definition is encountered.
550 2012-06-25 Jason Merrill <jason@redhat.com>
554 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
557 * typeck.c (decay_conversion): Don't discard side-effects from
558 expressions of nullptr_t.
561 * semantics.c (build_data_member_initialization): Always keep
562 initializer for empty base.
563 (cxx_eval_bare_aggregate): Discard it here.
565 2012-06-25 Jakub Jelinek <jakub@redhat.com>
568 * class.c (check_bases_and_members): Avoid -Wuninitialized
569 diagnostics for non-static const members or references if they
572 2012-06-19 Jason Merrill <jason@redhat.com>
575 * name-lookup.c (constructor_name_p): Don't try to look at the
576 name of a DECLTYPE_TYPE.
580 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
581 (instantiate_decl): Don't push_to_top_level for local class methods.
582 (instantiate_class_template_1): Or for local classes.
585 * pt.c (lookup_template_class_1): Use ts_global.
587 2012-06-14 Richard Guenther <rguenther@suse.de>
589 Backport from mainline
590 2012-06-11 Richard Guenther <rguenther@suse.de>
593 * mangle.c (write_array_type): Use double-ints for array domain
596 2012-06-14 Richard Guenther <rguenther@suse.de>
598 Backport from mainline
599 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
602 * parser.c (cp_parser_alias_declaration): Return earlier
605 2012-06-14 Release Manager
607 * GCC 4.7.1 released.
609 2012-06-12 Jason Merrill <jason@redhat.com>
614 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
615 (instantiate_decl): Don't push_to_top_level for local class methods.
616 (instantiate_class_template_1): Or for local classes.
618 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
621 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
622 to control enumeral mismatch in conditional expression too.
624 2012-06-01 Jason Merrill <jason@redhat.com>
627 * parser.c (cp_parser_class_head): Apply attributes here.
628 * semantics.c (begin_class_definition): Not here.
632 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
633 tentatively and the LHS has a parse error.
635 2012-06-01 Jason Merrill <jason@redhat.com>
638 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
639 (instantiate_decl): Don't push_to_top_level for local class methods.
640 (instantiate_class_template_1): Or for local classes.
643 * pt.c (do_auto_deduction): Don't try to deduce from a
644 type-dependent initializer.
646 2012-05-31 Jason Merrill <jason@redhat.com>
650 * call.c (joust): Handle comparing list and non-list ctors.
652 2012-05-30 Jason Merrill <jason@redhat.com>
655 * tree.c (stabilize_init): Side effects make the init unstable.
657 2012-05-30 Jason Merrill <jason@redhat.com>
660 * call.c (convert_like_real) [ck_list]: Take array address directly.
661 * typeck.c (decay_conversion): Reject decay of an array compound
664 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
667 * tree.c (stabilize_expr): Handle exp of void type.
669 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
672 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
674 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
677 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
679 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
682 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
683 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
685 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
688 * call.c (build_over_call): Handle final member functions
690 (build_new_method_call_1): Do not handle here.
692 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
695 * parser.c (cp_parser_member_declaration): Check that
696 initializer_token_start is non null before dereferencing it.
698 2012-04-16 Jason Merrill <jason@redhat.com>
701 * pt.c (determine_specialization): Instead of comparing the number
702 of parms, check that tsubst gives the right answer.
705 * pt.c (convert_template_argument): Handle template template
709 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
712 2012-04-15 Jason Merrill <jason@redhat.com>
716 * pt.c (coerce_template_parms): Even if we aren't converting we
717 want to expand argument packs.
719 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
722 * parser.c (cp_parser_class_name): Call strip_using_decl and
723 return the target decl.
724 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
725 to be stripped is NULL_TREE.
726 (qualify_lookup): Call strip_using_decl and perform some checks on
729 2012-04-13 Jason Merrill <jason@redhat.com>
732 * pt.c (any_pack_expanson_args_p): New.
733 (coerce_template_parms): Use it.
735 2012-04-11 Jason Merrill <jason@redhat.com>
738 * decl.c (check_tag_decl): Don't complain about attributes if we
739 don't even have a type.
741 2012-04-05 Jason Merrill <jason@redhat.com>
744 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
747 2012-04-03 Jason Merrill <jason@redhat.com>
750 * pt.c (tsubst_initializer_list): A pack expansion with no elements
751 means value-initialization.
753 2012-03-29 Meador Inge <meadori@codesourcery.com>
756 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
757 stripped child trees that are not pointer types.
759 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
762 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
763 warn for a zero as null pointer constant default argument.
765 2012-03-29 Jason Merrill <jason@redhat.com>
768 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
770 2012-03-29 Jakub Jelinek <jakub@redhat.com>
773 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
774 if processing_template_decl.
776 2012-03-29 Jason Merrill <jason@redhat.com>
779 * call.c (compare_ics): Handle ck_aggr like ck_list.
781 2012-03-28 Jason Merrill <jason@redhat.com>
784 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
785 we didn't get an explicit scope.
786 * pt.c (tsubst_baselink): Likewise.
788 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
791 * class.c (check_field_decls): Call literal_type_p only
794 2012-03-22 Jakub Jelinek <jakub@redhat.com>
797 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
798 on CLASS_TYPE_P types.
800 2012-03-22 Jason Merrill <jason@redhat.com>
803 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
805 2012-03-22 Jakub Jelinek <jakub@redhat.com>
807 Backported from mainline
808 2012-03-14 Jakub Jelinek <jakub@redhat.com>
811 * parser.c (lookup_literal_operator): Return fn only if
812 processed all arguments from args vector and argtypes is
815 2012-03-22 Release Manager
817 * GCC 4.7.0 released.
819 2012-03-20 Jason Merrill <jason@redhat.com>
821 * mangle.c (write_type): Handle 'auto'.
822 * init.c (build_new): Don't do auto deduction where it might
823 affect template mangling.
825 2012-03-07 Jason Merrill <jason@redhat.com>
828 * mangle.c (write_literal_operator_name): The length comes after the
831 2012-02-29 Jason Merrill <jason@redhat.com>
834 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
835 (shadow_tag): From here.
836 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
838 2012-02-21 Jakub Jelinek <jakub@redhat.com>
841 * typeck.c (check_literal_operator_args): Initialize *long_double_p
842 and *long_long_unsigned_p even if processing_template_decl.
844 2012-02-16 Jason Merrill <jason@redhat.com>
847 * decl.c (define_label): Use timevar_cond_start/stop.
849 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
852 * decl.c (xref_basetypes): call dependent_scope_p instead of
855 2012-02-16 Jason Merrill <jason@redhat.com>
858 * error.c (dump_expr): Handle lambda closures specifically.
860 2012-02-14 Jason Merrill <jason@redhat.com>
862 * parser.c (cp_parser_explicit_instantiation): Give a warning
863 for ignored attributes on explicit class instantiation.
865 2012-02-14 Jakub Jelinek <jakub@redhat.com>
868 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
869 lookup_label on label's name and set TREE_USED.
871 2012-02-14 Jason Merrill <jason@redhat.com>
874 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
876 2012-02-14 Jakub Jelinek <jakub@redhat.com>
879 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
880 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
882 2012-02-07 Jason Merrill <jason@redhat.com>
885 * semantics.c (cx_check_missing_mem_inits): Handle unions.
886 Fix constexpr default constructor logic.
889 * pt.c (tsubst): Strip uninstantiated typedef.
891 2012-02-06 Jason Merrill <jason@redhat.com>
894 * cvt.c (build_expr_type_conversion): Check for template conversion.
896 2012-01-31 Jason Merrill <jason@redhat.com>
899 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
900 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
901 (tsubst_pack_expansion): Check it.
903 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
906 * class.c (explain_non_literal_class): Correctly handle implicitly
907 deleted constructors.
909 2012-01-27 Jakub Jelinek <jakub@redhat.com>
912 * pt.c (tsubst_pack_expansion): Delete and restore
913 local_specialization whenever need_local_specialization, not just
914 when saved_local_specializations is non-NULL.
916 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
919 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
920 as TREE_OPERAND (t, 1).
922 2012-01-24 Jason Merrill <jason@redhat.com>
925 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
928 * tree.c (called_fns_equal): Check template args.
929 (cp_tree_equal): Call it.
931 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
932 Patrick Marlier <patrick.marlier@gmail.com>
935 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
936 thunk for set_one_vmethod_tm_attributes.
938 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
941 * call.c (build_over_call): Check for error_mark_node as
942 TREE_VALUE when default arguments are processed.
944 2012-01-23 Jason Merrill <jason@redhat.com>
947 * decl2.c (determine_visibility): Check for visibility attribute
948 on template specialization.
950 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
953 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
955 2012-01-23 Jason Merrill <jason@redhat.com>
958 * class.c (add_method): Set OVL_USED for using-decls.
959 * tree.c (ovl_scope): New.
960 * cp-tree.h: Declare it.
961 * parser.c (cp_parser_template_name): Use it.
962 * semantics.c (baselink_for_fns): Likewise.
963 * name-lookup.c (set_inherited_value_binding_p): Likewise.
965 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
968 * pt.c (lookup_template_class_1): Check context returned by
969 tsubst for error_mark_node.
971 2012-01-19 Kai Tietz <ktietz@redhat.com>
974 * decl2.c (save_template_attributes): Use merge_attributes
975 instead of chaining up via TREE_CHAIN.
977 2012-01-19 Jason Merrill <jason@redhat.com>
980 * class.c (finish_struct): Call add_method here for function usings.
981 * semantics.c (finish_member_declaration): Not here.
983 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
986 * typeck2.c (store_init_value): Within a template guard
987 cxx_constant_value with require_potential_constant_expression.
988 * pt.c (convert_nontype_argument): Likewise.
990 2012-01-16 Jakub Jelinek <jakub@redhat.com>
993 * mangle.c (write_template_arg_literal): Handle complex.
995 2012-01-16 Jason Merrill <jason@redhat.com>
998 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
1001 * typeck.c (build_static_cast_1): Handle bit-fields properly.
1003 2012-01-13 Ian Lance Taylor <iant@google.com>
1006 * typeck.c (enum_cast_to_int): New static function.
1007 (cp_build_binary_op): When handling warn_sign_compare, don't test
1008 for TREE_NO_WARNING. Do call enum_cast_to_int.
1009 * call.c (avoid_sign_compare_warnings): Remove static function.
1010 (build_new_op_1): Don't call avoid_sign_compare_warnings.
1012 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
1014 * decl2.c: Do not include tree-mudflap.h
1015 * semantics.c: Likewise.
1017 2012-01-13 Jason Merrill <jason@redhat.com>
1020 * semantics.c (finish_break_stmt): Avoid adding an unreachable
1024 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
1025 when reducing the visibility.
1028 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
1030 2012-01-12 Jason Merrill <jason@redhat.com>
1033 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
1036 2012-01-13 Dodji Seketeli <dodji@redhat.com>
1039 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
1040 Set the pointer to the last block of the constructor to the
1042 (build_constexpr_constructor_member_initializers): Get
1043 build_data_member_initialization a chance to deal with more
1044 statements before we choke.
1046 2012-01-12 Jason Merrill <jason@redhat.com>
1049 * mangle.c (write_expression): Mangle BASELINK scope if
1050 BASELINK_QUALIFIED_P.
1051 * search.c (adjust_result_of_qualified_name_lookup): Set
1052 BASELINK_QUALIFIED_P.
1053 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
1054 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
1055 adjust_result_of_qualified_name_lookup for non-qualified names.
1058 * pt.c (unify): Handle error_mark_node.
1060 2012-01-11 Jason Merrill <jason@redhat.com>
1063 * call.c (standard_conversion): For ptrmemfuncs, compare the
1067 * mangle.c (find_substitution): A type is only a substitution
1068 match if we're looking for a type.
1069 (write_nested_name): Use decl_mangling_context.
1071 * decl.c (decls_match): Assert that the arguments are decls.
1074 * pt.c (resolve_overloaded_unification): Compare types with
1075 same_type_p, not decls_match.
1077 2012-01-10 Jason Merrill <jason@redhat.com>
1080 * class.c (build_base_path): Diagnose ambiguous base.
1083 * semantics.c (cxx_eval_call_expression): Always retry previously
1084 non-constant expressions.
1086 2012-01-06 Jason Merrill <jason@redhat.com>
1090 * parser.c (cp_parser_new_expression): Set
1091 type_definition_forbidden_message.
1097 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
1098 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
1100 (write_template_arg): Fix mangling of class-scope functions and
1102 (mangle_decl): Update suggested -fabi-version argument.
1103 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
1104 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
1105 * tree.c (dependent_name): No longer static.
1106 * cp-tree.h: Declare it.
1107 * pt.c (unify): Defer handling of unconverted functions.
1109 * mangle.c (mangle_decl): Don't generate mangling aliases
1110 for maybe-in-charge [cd]tors.
1112 * error.c (dump_expr): Print type of CONSTRUCTOR.
1114 2012-01-05 Dodji Seketeli <dodji@redhat.com>
1117 * parser.c (cp_parser_alias_declaration): Get out early upon
1118 errors in the identifier or the attributes.
1120 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1123 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
1124 the tree returned by build_x_binary_op.
1126 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1129 * parser.c (cp_parser_postfix_open_square_expression): Handle
1130 postfix-expression [ braced-init-list ].
1132 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1135 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
1136 call decay_conversion on v.
1138 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1141 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
1142 declaration followed by specialization.
1144 2012-01-03 Jakub Jelinek <jakub@redhat.com>
1147 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
1148 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
1150 2012-01-02 Jason Merrill <jason@redhat.com>
1154 * method.c (walk_field_subobs): Don't check for uninitialized
1156 (synthesized_method_walk): Check here.
1160 * parser.c (cp_parser_cache_defarg): Split out...
1161 (cp_parser_parameter_declaration): ...from here.
1162 (cp_parser_save_nsdmi): Use it.
1163 (cp_parser_cache_group): Remove CPP_COMMA support.
1165 2012-01-02 Dodji Seketeli <dodji@redhat.com>
1168 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
1171 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
1174 * typeck2.c (digest_init_r): Use copy_init when initializing
1177 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1180 * decl.c (build_enumerator): Don't call perform_integral_promotions
1183 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1186 * typeck.c (build_reinterpret_cast_1): Implement resolution of
1189 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
1191 * parser.c (cp_parser_using_declaration): Add a warning about
1192 deprecated access declarations when no errors were encountered
1193 while parsing the access declaration. Save the first token in
1194 order to emit the warning at the right place.
1196 Copyright (C) 2012 Free Software Foundation, Inc.
1198 Copying and distribution of this file, with or without modification,
1199 are permitted in any medium without royalty provided the copyright
1200 notice and this notice are preserved.