1 2014-02-26 Fabien ChĂȘne <fabien@gcc.gnu.org>
3 * parser.c (cp_parser_nonclass_name): Call strip_using_decl and
4 move the code handling dependent USING_DECLs...
5 * name-lookup.c (strip_using_decl): ...Here.
7 2014-02-21 Jason Merrill <jason@redhat.com>
10 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
12 2014-02-20 Kai Tietz <ktietz@redhat.com>
15 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
16 valued type argument as error_mark_node.
19 * semantics.c (finish_fname): Handle error_mark_node.
21 2014-02-19 Jason Merrill <jason@redhat.com>
24 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
25 spec from template context.
27 2014-01-31 Jason Merrill <jason@redhat.com>
30 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
31 during partial ordering.
33 2014-01-27 Jason Merrill <jason@redhat.com>
36 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
39 * call.c (build_aggr_conv): Reject value-initialization of reference.
41 2013-10-25 Tom de Vries <tom@codesourcery.com>
44 * except.c (build_must_not_throw_expr): Handle
47 2013-10-16 Paolo Carlini <paolo.carlini@oracle.com>
50 * parser.c (cp_parser_pseudo_destructor_name): Revert r174385 changes.
52 2013-09-13 Jason Merrill <jason@redhat.com>
55 * pt.c (any_type_dependent_elements_p): Actually check for
56 type-dependence, not value-dependence.
58 2013-08-20 Jason Merrill <jason@redhat.com>
61 * cp-tree.h (WILDCARD_TYPE_P): Split out from...
62 (MAYBE_CLASS_TYPE_P): ...here.
63 * cvt.c (build_expr_type_conversion): Don't complain about a
64 template that can't match the desired type category.
66 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
69 * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
70 expressions of nullptr_t.
71 * typeck.c (build_ptrmemfunc): Likewise.
73 2013-07-09 Jason Merrill <jason@redhat.com>
76 * typeck.c (check_return_expr): Lambda proxies aren't eligible
77 for nrv or return by move.
80 * pt.c (convert_nontype_argument) [INTEGER_CST]: Force the
81 argument to have the exact type of the parameter.
84 * semantics.c (cxx_eval_indirect_ref): Don't try to look through
85 a POINTER_PLUS_EXPR for type punning diagnostic.
88 * pt.c (tsubst_copy): Handle USING_DECL.
90 2013-05-20 Jason Merrill <jason@redhat.com>
93 * tree.c (build_cplus_array_type): Copy layout info if element
96 2013-05-09 Jason Merrill <jason@redhat.com>
99 * semantics.c (cxx_fold_indirect_ref): Fix thinko.
101 2013-04-21 Eric Botcazou <ebotcazou@adacore.com>
103 * parser.c (cp_parser_late_return_type_opt): Fix C++ism.
105 2013-04-15 Jason Merrill <jason@redhat.com>
108 * semantics.c (insert_capture_proxy): Just use index 1 in the
111 2013-04-11 Release Manager
113 * GCC 4.7.3 released.
115 2013-04-03 Jakub Jelinek <jakub@redhat.com>
118 * tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
119 from args to new_args.
120 (strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
121 r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
123 2013-04-01 Jason Merrill <jason@redhat.com>
126 * parser.c (cp_parser_range_for): Don't try to do auto deduction
127 in a template if the type of the range is incomplete.
129 2013-03-29 Jason Merrill <jason@redhat.com>
133 * pt.c (unify_pack_expansion): Fix indexing.
135 2013-03-23 Jason Merrill <jason@redhat.com>
138 * semantics.c (lambda_capture_field_type): Don't build a
139 magic decltype for pointer types.
140 (lambda_proxy_type): Likewise.
141 (finish_non_static_data_member): Get the quals from
144 2013-03-20 Jason Merrill <jason@redhat.com>
147 * parser.c (cp_parser_late_return_type_opt): Save and restore
148 current_class_ptr/ref.
150 2013-03-14 Jason Merrill <jason@redhat.com>
153 * decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
155 2013-03-14 Jakub Jelinek <jakub@redhat.com>
158 * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead
161 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
164 * parser.c (cp_parser_elaborated_type_specifier): Don't call
165 check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
166 * decl.c (check_elaborated_type_specifier): Tidy.
168 2013-03-06 Jakub Jelinek <jakub@redhat.com>
171 * tree.c (strip_typedefs): Don't copy args if they are NULL.
173 2013-02-22 Jason Merrill <jason@redhat.com>
176 * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
177 if we got the wrong number of template parms.
180 * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
183 2013-02-19 Jakub Jelinek <jakub@redhat.com>
185 Backported from mainline
186 2013-02-07 Jakub Jelinek <jakub@redhat.com>
189 * init.c (build_vec_init): Don't append NULL values into new_vec.
190 (build_zero_init_1): Don't push anything into v if recursive call
192 (build_value_init_noctor): Don't push anything into v if
193 build_value_init call returned NULL_TREE.
196 * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
197 (cp_parser_tokens_start_cast_expression): ... this. Change parameter
198 to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
199 return true only if 2nd token isn't CPP_CLOSE_PAREN.
200 (cp_parser_cast_expression): Adjust caller.
203 * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
204 only if DECL_DISCRIMINATOR_SET_P (t) rather than just
205 DECL_LANG_SPECIFIC (t).
207 2013-02-15 Jason Merrill <jason@redhat.com>
210 * semantics.c (finish_id_expression): Also return the identifier
211 for an outer local static.
214 * semantics.c (finish_id_expression): In a template, return
215 the identifier for a constant variable.
218 * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
222 * pt.c (tsubst_copy_and_build): Don't forget any new
223 captures that arose from use of dependent names.
225 2013-02-12 Jason Merrill <jason@redhat.com>
228 * semantics.c (sort_constexpr_mem_initializers): Handle
231 2013-02-11 Jason Merrill <jason@redhat.com>
234 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
235 maybe_instantiate_noexcept.
237 2013-02-09 Jason Merrill <jason@redhat.com>
240 * pt.c (eq_specializations): Set comparing_specializations.
241 * tree.c (cp_tree_equal): Check it.
242 * cp-tree.h: Declare it.
244 2013-02-05 Jason Merrill <jason@redhat.com>
247 * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
250 2013-02-01 Jakub Jelinek <jakub@redhat.com>
252 Backported from mainline
253 2012-12-13 Jakub Jelinek <jakub@redhat.com>
256 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
259 2012-12-06 Jakub Jelinek <jakub@redhat.com>
262 * except.c (build_noexcept_spec): Avoid direct comparison
263 with boolean_true_node or boolean_false_node, instead use
264 operand_equal_p and/or INTEGER_CST check.
265 * pt.c (tsubst_exception_specification): Likewise.
266 * typeck2.c (merge_exception_specifiers): Likewise.
268 2012-12-01 Jakub Jelinek <jakub@redhat.com>
271 * pt.c (make_ith_pack_parameter_name): Return NULL if
273 (tsubst_decl): Call make_ith_pack_parameter_name even if
276 2012-11-23 Jakub Jelinek <jakub@redhat.com>
279 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
280 * cp-objcp-common.c (cxx_block_may_fallthru): New function.
281 * cp-tree.h (cxx_block_may_fallthru): New prototype.
283 2013-01-25 Jason Merrill <jason@redhat.com>
286 * typeck.c (get_member_function_from_ptrfunc): Don't fold
289 2013-01-22 Jason Merrill <jason@redhat.com>
291 * call.c (type_has_extended_temps): Fix C++ism.
294 * call.c (type_has_extended_temps): New.
295 * cp-tree.h: Declare it.
296 * decl.c (check_initializer): Use build_aggr_init for arrays
298 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
301 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
303 2013-01-21 Jason Merrill <jason@redhat.com>
306 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
309 2013-01-09 Jason Merrill <jason@redhat.com>
312 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
315 2013-01-08 Joel Brobecker <brobecker@adacore.com>
317 * parser.c (cp_parser_initializer_list): Move declaration
318 of variable non_const to start of lexical block.
320 2013-01-04 Jason Merrill <jason@redhat.com>
323 * decl.c (reset_type_linkage, bt_reset_linkage): New.
324 (grokdeclarator): Use reset_type_linkage.
325 * name-lookup.c (binding_table_foreach): Handle null table.
326 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
328 2013-01-03 Jason Merrill <jason@redhat.com>
332 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
336 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
339 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
341 2013-01-02 Jason Merrill <jason@redhat.com>
344 * call.c (build_new_method_call_1): Don't use build_value_init for
345 user-provided default constructors.
349 * tree.c (build_cplus_array_type): Copy layout information
350 to main variant if necessary.
352 2012-12-19 Jason Merrill <jason@redhat.com>
355 * pt.c (type_unification_real): Re-combine post-deduction loops.
357 2012-12-11 Jason Merrill <jason@redhat.com>
360 * decl2.c (min_vis_r): Handle anon visibility for enums.
362 2012-12-11 Jakub Jelinek <jakub@redhat.com>
365 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
367 2012-12-07 Jason Merrill <jason@redhat.com>
370 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
372 2012-12-07 Matthias Klose <doko@ubuntu.com>
374 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
376 2012-12-06 Jason Merrill <jason@redhat.com>
379 * tree.c (build_aggr_init_expr): Don't check for abstract class.
380 (build_cplus_new): Check here instead.
383 * pt.c (tsubst): Keep the quals when looking through a typedef.
386 * tree.c (build_vec_init_elt): Use the type of the initializer.
389 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
392 * parser.c (cp_parser_initializer_list): Don't require an
393 expression in [] to be constant until we know it's a C99
398 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
399 * decl.c (start_preparsed_function): Make local class methods comdat
402 2012-11-29 Jason Merrill <jason@redhat.com>
405 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
406 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
407 (instantiate_class_template_1): Not here.
410 * pt.c (tsubst_arg_types): Add "end" parameter.
411 (check_undeduced_parms): Use it.
414 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
417 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
418 (struct template_parm_index_s): Remove num_siblings.
419 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
420 (fixup_template_type_parm_type): Remove.
421 (build_template_parm_index): Remove num_siblings parm.
422 (process_template_parm): Likewise.
423 * parser.c (cp_parser_template_parameter_list): Adjust.
424 * tree.c (cp_tree_equal): Don't compare num_siblings.
425 * typeck.c (comp_template_parms_position): Likewise.
429 * tree.c (strip_typedefs_expr): New.
430 * cp-tree.h: Declare it.
431 * pt.c (convert_template_argument, unify): Use it.
432 * parser.c (cp_parser_template_declaration_after_export): Don't call
433 fixup_template_parms.
435 2012-11-29 Kai Tietz <ktietz@redhat.com>
438 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
439 (dump_vtable): Likewise.
441 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
444 * init.c (build_vec_init): Do not early return error_mark_mode
445 when integer_all_onesp (maxindex).
447 2012-11-05 Jakub Jelinek <jakub@redhat.com>
449 Backported from mainline
450 2012-10-23 Jakub Jelinek <jakub@redhat.com>
453 * decl2.c (cplus_decl_attributes): Don't return early
454 if attributes is NULL.
456 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
459 * init.c (build_new): Don't turn a null *init into a pointer to
460 empty vector orig_init.
462 2012-10-08 Jakub Jelinek <jakub@redhat.com>
465 * tree.c (cp_tree_equal): Handle FIELD_DECL.
467 2012-10-03 Jakub Jelinek <jakub@redhat.com>
470 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
471 not ignoring the second operand, pass the original second operand
472 and not one with stripped nops to cxx_eval_constant_expression.
474 2012-09-20 Release Manager
476 * GCC 4.7.2 released.
478 2012-09-14 Jason Merrill <jason@redhat.com>
481 * typeck2.c (check_narrowing): Avoid false positives on conversion
484 2012-09-13 Jason Merrill <jason@redhat.com>
487 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
488 address, make sure the value is constant.
490 2012-09-13 Jason Merrill <jason@redhat.com>
493 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
495 2012-09-13 Jason Merrill <jason@redhat.com>
498 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
501 2012-09-10 Jason Merrill <jason@redhat.com>
504 * decl.c (move_signature_fn_p): Split out from move_fn_p.
505 * method.c (process_subob_fn): Use it.
506 * cp-tree.h: Declare it.
510 * semantics.c (sort_constexpr_mem_initializers): New.
511 (build_constexpr_constructor_member_initializers): Use it.
512 (cx_check_missing_mem_inits): Skip artificial fields.
513 * init.c (expand_aggr_init_1): Don't zero out a class
517 * decl.c (grokdeclarator): Allow const and constexpr together.
519 2012-08-31 Ollie Wild <aaw@google.com>
522 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
524 2012-07-20 Jason Merrill <jason@redhat.com>
527 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
528 canonical array type rather than mess with its TYPE_*_VARIANT.
530 2012-07-19 Jason Merrill <jason@redhat.com>
533 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
535 2012-07-18 Jason Merrill <jason@redhat.com>
537 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
538 before trying to store through it.
540 2012-07-17 Jason Merrill <jason@redhat.com>
543 * decl.c (finish_enum_value_list): Only call
544 insert_late_enum_def_into_classtype_sorted_fields in class scope.
546 2012-07-17 Jason Merrill <jason@redhat.com>
549 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
550 to the list of variants.
552 2012-07-17 Jason Merrill <jason@redhat.com>
555 * parser.c (cp_parser_class_head): Call xref_basetypes here.
556 (cp_parser_class_specifier_1): Not here.
557 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
558 as well as DECL_DEPENDENT_P.
560 2012-07-13 Jason Merrill <jason@redhat.com>
563 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
565 2012-07-10 Jason Merrill <jason@redhat.com>
569 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
570 (struct lang_decl_fn): Add suppress_implicit_decl field.
571 * method.c (implicitly_declare_fn): Check it.
572 (process_subob_fn): Add no_implicit_p parm.
573 (walk_field_subobs, synthesized_method_walk): Likewise.
574 (maybe_explain_implicit_delete): Adjust.
575 (explain_implicit_non_constexpr): Adjust.
577 * method.c (synthesized_method_walk): Cleanups don't affect the EH
580 2012-07-02 Jason Merrill <jason@redhat.com>
583 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
584 (current_function_decl) instead of processing_template_decl.
587 * semantics.c (maybe_add_lambda_conv_op): Don't set
588 DECL_INTERFACE_KNOWN.
590 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
593 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
595 * class.c (insert_into_classtype_sorted_fields): New.
596 (add_enum_fields_to_record_type): New.
597 (count_fields): Adjust the comment.
598 (add_fields_to_record_type): Likewise.
599 (finish_struct_1): Move the code that inserts the fields for the
600 sorted case, into insert_into_classtype_sorted_fields, and call
602 (insert_late_enum_def_into_classtype_sorted_fields): Define.
603 * decl.c (finish_enum_value_list): Call
604 insert_late_enum_def_into_classtype_sorted_fields if a late enum
605 definition is encountered.
607 2012-06-25 Jason Merrill <jason@redhat.com>
611 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
614 * typeck.c (decay_conversion): Don't discard side-effects from
615 expressions of nullptr_t.
618 * semantics.c (build_data_member_initialization): Always keep
619 initializer for empty base.
620 (cxx_eval_bare_aggregate): Discard it here.
622 2012-06-25 Jakub Jelinek <jakub@redhat.com>
625 * class.c (check_bases_and_members): Avoid -Wuninitialized
626 diagnostics for non-static const members or references if they
629 2012-06-19 Jason Merrill <jason@redhat.com>
632 * name-lookup.c (constructor_name_p): Don't try to look at the
633 name of a DECLTYPE_TYPE.
637 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
638 (instantiate_decl): Don't push_to_top_level for local class methods.
639 (instantiate_class_template_1): Or for local classes.
642 * pt.c (lookup_template_class_1): Use ts_global.
644 2012-06-14 Richard Guenther <rguenther@suse.de>
646 Backport from mainline
647 2012-06-11 Richard Guenther <rguenther@suse.de>
650 * mangle.c (write_array_type): Use double-ints for array domain
653 2012-06-14 Richard Guenther <rguenther@suse.de>
655 Backport from mainline
656 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
659 * parser.c (cp_parser_alias_declaration): Return earlier
662 2012-06-14 Release Manager
664 * GCC 4.7.1 released.
666 2012-06-12 Jason Merrill <jason@redhat.com>
671 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
672 (instantiate_decl): Don't push_to_top_level for local class methods.
673 (instantiate_class_template_1): Or for local classes.
675 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
678 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
679 to control enumeral mismatch in conditional expression too.
681 2012-06-01 Jason Merrill <jason@redhat.com>
684 * parser.c (cp_parser_class_head): Apply attributes here.
685 * semantics.c (begin_class_definition): Not here.
689 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
690 tentatively and the LHS has a parse error.
692 2012-06-01 Jason Merrill <jason@redhat.com>
695 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
696 (instantiate_decl): Don't push_to_top_level for local class methods.
697 (instantiate_class_template_1): Or for local classes.
700 * pt.c (do_auto_deduction): Don't try to deduce from a
701 type-dependent initializer.
703 2012-05-31 Jason Merrill <jason@redhat.com>
707 * call.c (joust): Handle comparing list and non-list ctors.
709 2012-05-30 Jason Merrill <jason@redhat.com>
712 * tree.c (stabilize_init): Side effects make the init unstable.
714 2012-05-30 Jason Merrill <jason@redhat.com>
717 * call.c (convert_like_real) [ck_list]: Take array address directly.
718 * typeck.c (decay_conversion): Reject decay of an array compound
721 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
724 * tree.c (stabilize_expr): Handle exp of void type.
726 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
729 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
731 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
734 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
736 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
739 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
740 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
742 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
745 * call.c (build_over_call): Handle final member functions
747 (build_new_method_call_1): Do not handle here.
749 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
752 * parser.c (cp_parser_member_declaration): Check that
753 initializer_token_start is non null before dereferencing it.
755 2012-04-16 Jason Merrill <jason@redhat.com>
758 * pt.c (determine_specialization): Instead of comparing the number
759 of parms, check that tsubst gives the right answer.
762 * pt.c (convert_template_argument): Handle template template
766 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
769 2012-04-15 Jason Merrill <jason@redhat.com>
773 * pt.c (coerce_template_parms): Even if we aren't converting we
774 want to expand argument packs.
776 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
779 * parser.c (cp_parser_class_name): Call strip_using_decl and
780 return the target decl.
781 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
782 to be stripped is NULL_TREE.
783 (qualify_lookup): Call strip_using_decl and perform some checks on
786 2012-04-13 Jason Merrill <jason@redhat.com>
789 * pt.c (any_pack_expanson_args_p): New.
790 (coerce_template_parms): Use it.
792 2012-04-11 Jason Merrill <jason@redhat.com>
795 * decl.c (check_tag_decl): Don't complain about attributes if we
796 don't even have a type.
798 2012-04-05 Jason Merrill <jason@redhat.com>
801 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
804 2012-04-03 Jason Merrill <jason@redhat.com>
807 * pt.c (tsubst_initializer_list): A pack expansion with no elements
808 means value-initialization.
810 2012-03-29 Meador Inge <meadori@codesourcery.com>
813 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
814 stripped child trees that are not pointer types.
816 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
819 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
820 warn for a zero as null pointer constant default argument.
822 2012-03-29 Jason Merrill <jason@redhat.com>
825 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
827 2012-03-29 Jakub Jelinek <jakub@redhat.com>
830 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
831 if processing_template_decl.
833 2012-03-29 Jason Merrill <jason@redhat.com>
836 * call.c (compare_ics): Handle ck_aggr like ck_list.
838 2012-03-28 Jason Merrill <jason@redhat.com>
841 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
842 we didn't get an explicit scope.
843 * pt.c (tsubst_baselink): Likewise.
845 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
848 * class.c (check_field_decls): Call literal_type_p only
851 2012-03-22 Jakub Jelinek <jakub@redhat.com>
854 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
855 on CLASS_TYPE_P types.
857 2012-03-22 Jason Merrill <jason@redhat.com>
860 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
862 2012-03-22 Jakub Jelinek <jakub@redhat.com>
864 Backported from mainline
865 2012-03-14 Jakub Jelinek <jakub@redhat.com>
868 * parser.c (lookup_literal_operator): Return fn only if
869 processed all arguments from args vector and argtypes is
872 2012-03-22 Release Manager
874 * GCC 4.7.0 released.
876 2012-03-20 Jason Merrill <jason@redhat.com>
878 * mangle.c (write_type): Handle 'auto'.
879 * init.c (build_new): Don't do auto deduction where it might
880 affect template mangling.
882 2012-03-07 Jason Merrill <jason@redhat.com>
885 * mangle.c (write_literal_operator_name): The length comes after the
888 2012-02-29 Jason Merrill <jason@redhat.com>
891 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
892 (shadow_tag): From here.
893 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
895 2012-02-21 Jakub Jelinek <jakub@redhat.com>
898 * typeck.c (check_literal_operator_args): Initialize *long_double_p
899 and *long_long_unsigned_p even if processing_template_decl.
901 2012-02-16 Jason Merrill <jason@redhat.com>
904 * decl.c (define_label): Use timevar_cond_start/stop.
906 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
909 * decl.c (xref_basetypes): call dependent_scope_p instead of
912 2012-02-16 Jason Merrill <jason@redhat.com>
915 * error.c (dump_expr): Handle lambda closures specifically.
917 2012-02-14 Jason Merrill <jason@redhat.com>
919 * parser.c (cp_parser_explicit_instantiation): Give a warning
920 for ignored attributes on explicit class instantiation.
922 2012-02-14 Jakub Jelinek <jakub@redhat.com>
925 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
926 lookup_label on label's name and set TREE_USED.
928 2012-02-14 Jason Merrill <jason@redhat.com>
931 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
933 2012-02-14 Jakub Jelinek <jakub@redhat.com>
936 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
937 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
939 2012-02-07 Jason Merrill <jason@redhat.com>
942 * semantics.c (cx_check_missing_mem_inits): Handle unions.
943 Fix constexpr default constructor logic.
946 * pt.c (tsubst): Strip uninstantiated typedef.
948 2012-02-06 Jason Merrill <jason@redhat.com>
951 * cvt.c (build_expr_type_conversion): Check for template conversion.
953 2012-01-31 Jason Merrill <jason@redhat.com>
956 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
957 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
958 (tsubst_pack_expansion): Check it.
960 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
963 * class.c (explain_non_literal_class): Correctly handle implicitly
964 deleted constructors.
966 2012-01-27 Jakub Jelinek <jakub@redhat.com>
969 * pt.c (tsubst_pack_expansion): Delete and restore
970 local_specialization whenever need_local_specialization, not just
971 when saved_local_specializations is non-NULL.
973 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
976 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
977 as TREE_OPERAND (t, 1).
979 2012-01-24 Jason Merrill <jason@redhat.com>
982 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
985 * tree.c (called_fns_equal): Check template args.
986 (cp_tree_equal): Call it.
988 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
989 Patrick Marlier <patrick.marlier@gmail.com>
992 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
993 thunk for set_one_vmethod_tm_attributes.
995 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
998 * call.c (build_over_call): Check for error_mark_node as
999 TREE_VALUE when default arguments are processed.
1001 2012-01-23 Jason Merrill <jason@redhat.com>
1004 * decl2.c (determine_visibility): Check for visibility attribute
1005 on template specialization.
1007 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
1010 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
1012 2012-01-23 Jason Merrill <jason@redhat.com>
1015 * class.c (add_method): Set OVL_USED for using-decls.
1016 * tree.c (ovl_scope): New.
1017 * cp-tree.h: Declare it.
1018 * parser.c (cp_parser_template_name): Use it.
1019 * semantics.c (baselink_for_fns): Likewise.
1020 * name-lookup.c (set_inherited_value_binding_p): Likewise.
1022 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
1025 * pt.c (lookup_template_class_1): Check context returned by
1026 tsubst for error_mark_node.
1028 2012-01-19 Kai Tietz <ktietz@redhat.com>
1031 * decl2.c (save_template_attributes): Use merge_attributes
1032 instead of chaining up via TREE_CHAIN.
1034 2012-01-19 Jason Merrill <jason@redhat.com>
1037 * class.c (finish_struct): Call add_method here for function usings.
1038 * semantics.c (finish_member_declaration): Not here.
1040 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
1043 * typeck2.c (store_init_value): Within a template guard
1044 cxx_constant_value with require_potential_constant_expression.
1045 * pt.c (convert_nontype_argument): Likewise.
1047 2012-01-16 Jakub Jelinek <jakub@redhat.com>
1050 * mangle.c (write_template_arg_literal): Handle complex.
1052 2012-01-16 Jason Merrill <jason@redhat.com>
1055 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
1058 * typeck.c (build_static_cast_1): Handle bit-fields properly.
1060 2012-01-13 Ian Lance Taylor <iant@google.com>
1063 * typeck.c (enum_cast_to_int): New static function.
1064 (cp_build_binary_op): When handling warn_sign_compare, don't test
1065 for TREE_NO_WARNING. Do call enum_cast_to_int.
1066 * call.c (avoid_sign_compare_warnings): Remove static function.
1067 (build_new_op_1): Don't call avoid_sign_compare_warnings.
1069 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
1071 * decl2.c: Do not include tree-mudflap.h
1072 * semantics.c: Likewise.
1074 2012-01-13 Jason Merrill <jason@redhat.com>
1077 * semantics.c (finish_break_stmt): Avoid adding an unreachable
1081 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
1082 when reducing the visibility.
1085 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
1087 2012-01-12 Jason Merrill <jason@redhat.com>
1090 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
1093 2012-01-13 Dodji Seketeli <dodji@redhat.com>
1096 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
1097 Set the pointer to the last block of the constructor to the
1099 (build_constexpr_constructor_member_initializers): Get
1100 build_data_member_initialization a chance to deal with more
1101 statements before we choke.
1103 2012-01-12 Jason Merrill <jason@redhat.com>
1106 * mangle.c (write_expression): Mangle BASELINK scope if
1107 BASELINK_QUALIFIED_P.
1108 * search.c (adjust_result_of_qualified_name_lookup): Set
1109 BASELINK_QUALIFIED_P.
1110 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
1111 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
1112 adjust_result_of_qualified_name_lookup for non-qualified names.
1115 * pt.c (unify): Handle error_mark_node.
1117 2012-01-11 Jason Merrill <jason@redhat.com>
1120 * call.c (standard_conversion): For ptrmemfuncs, compare the
1124 * mangle.c (find_substitution): A type is only a substitution
1125 match if we're looking for a type.
1126 (write_nested_name): Use decl_mangling_context.
1128 * decl.c (decls_match): Assert that the arguments are decls.
1131 * pt.c (resolve_overloaded_unification): Compare types with
1132 same_type_p, not decls_match.
1134 2012-01-10 Jason Merrill <jason@redhat.com>
1137 * class.c (build_base_path): Diagnose ambiguous base.
1140 * semantics.c (cxx_eval_call_expression): Always retry previously
1141 non-constant expressions.
1143 2012-01-06 Jason Merrill <jason@redhat.com>
1147 * parser.c (cp_parser_new_expression): Set
1148 type_definition_forbidden_message.
1154 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
1155 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
1157 (write_template_arg): Fix mangling of class-scope functions and
1159 (mangle_decl): Update suggested -fabi-version argument.
1160 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
1161 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
1162 * tree.c (dependent_name): No longer static.
1163 * cp-tree.h: Declare it.
1164 * pt.c (unify): Defer handling of unconverted functions.
1166 * mangle.c (mangle_decl): Don't generate mangling aliases
1167 for maybe-in-charge [cd]tors.
1169 * error.c (dump_expr): Print type of CONSTRUCTOR.
1171 2012-01-05 Dodji Seketeli <dodji@redhat.com>
1174 * parser.c (cp_parser_alias_declaration): Get out early upon
1175 errors in the identifier or the attributes.
1177 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1180 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
1181 the tree returned by build_x_binary_op.
1183 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1186 * parser.c (cp_parser_postfix_open_square_expression): Handle
1187 postfix-expression [ braced-init-list ].
1189 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1192 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
1193 call decay_conversion on v.
1195 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1198 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
1199 declaration followed by specialization.
1201 2012-01-03 Jakub Jelinek <jakub@redhat.com>
1204 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
1205 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
1207 2012-01-02 Jason Merrill <jason@redhat.com>
1211 * method.c (walk_field_subobs): Don't check for uninitialized
1213 (synthesized_method_walk): Check here.
1217 * parser.c (cp_parser_cache_defarg): Split out...
1218 (cp_parser_parameter_declaration): ...from here.
1219 (cp_parser_save_nsdmi): Use it.
1220 (cp_parser_cache_group): Remove CPP_COMMA support.
1222 2012-01-02 Dodji Seketeli <dodji@redhat.com>
1225 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
1228 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
1231 * typeck2.c (digest_init_r): Use copy_init when initializing
1234 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1237 * decl.c (build_enumerator): Don't call perform_integral_promotions
1240 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1243 * typeck.c (build_reinterpret_cast_1): Implement resolution of
1246 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
1248 * parser.c (cp_parser_using_declaration): Add a warning about
1249 deprecated access declarations when no errors were encountered
1250 while parsing the access declaration. Save the first token in
1251 order to emit the warning at the right place.
1253 Copyright (C) 2012 Free Software Foundation, Inc.
1255 Copying and distribution of this file, with or without modification,
1256 are permitted in any medium without royalty provided the copyright
1257 notice and this notice are preserved.