1 2012-07-20 Jason Merrill <jason@redhat.com>
4 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
5 canonical array type rather than mess with its TYPE_*_VARIANT.
7 2012-07-19 Jason Merrill <jason@redhat.com>
10 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
12 2012-07-18 Jason Merrill <jason@redhat.com>
14 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
15 before trying to store through it.
17 2012-07-17 Jason Merrill <jason@redhat.com>
20 * decl.c (finish_enum_value_list): Only call
21 insert_late_enum_def_into_classtype_sorted_fields in class scope.
23 2012-07-17 Jason Merrill <jason@redhat.com>
26 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
27 to the list of variants.
29 2012-07-17 Jason Merrill <jason@redhat.com>
32 * parser.c (cp_parser_class_head): Call xref_basetypes here.
33 (cp_parser_class_specifier_1): Not here.
34 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
35 as well as DECL_DEPENDENT_P.
37 2012-07-13 Jason Merrill <jason@redhat.com>
40 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
42 2012-07-10 Jason Merrill <jason@redhat.com>
46 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
47 (struct lang_decl_fn): Add suppress_implicit_decl field.
48 * method.c (implicitly_declare_fn): Check it.
49 (process_subob_fn): Add no_implicit_p parm.
50 (walk_field_subobs, synthesized_method_walk): Likewise.
51 (maybe_explain_implicit_delete): Adjust.
52 (explain_implicit_non_constexpr): Adjust.
54 * method.c (synthesized_method_walk): Cleanups don't affect the EH
57 2012-07-02 Jason Merrill <jason@redhat.com>
60 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
61 (current_function_decl) instead of processing_template_decl.
64 * semantics.c (maybe_add_lambda_conv_op): Don't set
67 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
70 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
72 * class.c (insert_into_classtype_sorted_fields): New.
73 (add_enum_fields_to_record_type): New.
74 (count_fields): Adjust the comment.
75 (add_fields_to_record_type): Likewise.
76 (finish_struct_1): Move the code that inserts the fields for the
77 sorted case, into insert_into_classtype_sorted_fields, and call
79 (insert_late_enum_def_into_classtype_sorted_fields): Define.
80 * decl.c (finish_enum_value_list): Call
81 insert_late_enum_def_into_classtype_sorted_fields if a late enum
82 definition is encountered.
84 2012-06-25 Jason Merrill <jason@redhat.com>
88 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
91 * typeck.c (decay_conversion): Don't discard side-effects from
92 expressions of nullptr_t.
95 * semantics.c (build_data_member_initialization): Always keep
96 initializer for empty base.
97 (cxx_eval_bare_aggregate): Discard it here.
99 2012-06-25 Jakub Jelinek <jakub@redhat.com>
101 Backported from mainline.
102 * decl.c (cxx_init_decl_processing): Use ptr_mode instead of Pmode.
104 2012-04-03 Jason Merrill <jason@redhat.com>
107 * pt.c (tsubst_initializer_list): A pack expansion with no elements
108 means value-initialization.
110 2012-03-01 Release Manager
112 * GCC 4.6.3 released.
114 2012-02-14 Jakub Jelinek <jakub@redhat.com>
116 Backported from mainline
117 2012-02-14 Jakub Jelinek <jakub@redhat.com>
120 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
121 lookup_label on label's name and set TREE_USED.
124 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
125 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
127 2012-02-09 Jakub Jelinek <jakub@redhat.com>
129 Backported from mainline
130 2012-01-03 Jakub Jelinek <jakub@redhat.com>
133 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
134 on OMP_CLAUSE_{IF,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
136 2011-12-15 Jakub Jelinek <jakub@redhat.com>
139 * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
140 and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
142 2012-01-19 Kai Tietz <ktietz@redhat.com>
145 * decl2.c (save_template_attributes): Use merge_attributes
146 instead of chaining up via TREE_CHAIN.
148 2012-01-16 Jakub Jelinek <jakub@redhat.com>
151 * mangle.c (write_template_arg_literal): Sorry instead of aborting.
153 2012-01-16 Jason Merrill <jason@redhat.com>
156 * typeck.c (build_static_cast_1): Handle bit-fields properly.
158 2011-12-20 Dodji Seketeli <dodji@redhat.com>
161 * decl.c (cxx_maybe_build_cleanup): Don't set location of the call
164 2011-12-16 Jason Merrill <jason@redhat.com>
167 * init.c (build_value_init_noctor): Check for incomplete type.
169 2011-12-16 Jason Merrill <jason@redhat.com>
172 * class.c (convert_to_base_statically): Just call
173 build_simple_base_path.
174 (build_simple_base_path): Check field offset.
176 2011-12-14 Jason Merrill <jason@redhat.com>
179 * decl.c (copy_type_enum): Also update variants.
180 (finish_enum): Allow variants of complete enums.
182 2011-12-13 Jason Merrill <jason@redhat.com>
186 * typeck.c (build_static_cast_1): Fix cast of lvalue to
187 base rvalue reference.
189 2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
192 * semantics.c (finish_decltype_type): Handle PTRMEM_CST.
194 2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
197 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
198 to control enumeral mismatch in conditional expression too.
200 2012-06-01 Jason Merrill <jason@redhat.com>
203 * parser.c (cp_parser_class_head): Apply attributes here.
204 * semantics.c (begin_class_definition): Not here.
208 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
209 tentatively and the LHS has a parse error.
211 2012-06-01 Jason Merrill <jason@redhat.com>
214 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
215 (instantiate_decl): Don't push_to_top_level for local class methods.
216 (instantiate_class_template_1): Or for local classes.
219 * pt.c (do_auto_deduction): Don't try to deduce from a
220 type-dependent initializer.
222 2012-05-31 Jason Merrill <jason@redhat.com>
226 * call.c (joust): Handle comparing list and non-list ctors.
228 2012-05-30 Jason Merrill <jason@redhat.com>
231 * tree.c (stabilize_init): Side effects make the init unstable.
233 2012-05-30 Jason Merrill <jason@redhat.com>
236 * call.c (convert_like_real) [ck_list]: Take array address directly.
237 * typeck.c (decay_conversion): Reject decay of an array compound
240 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
243 * tree.c (stabilize_expr): Handle exp of void type.
245 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
248 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
250 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
253 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
255 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
258 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
259 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
261 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
264 * call.c (build_over_call): Handle final member functions
266 (build_new_method_call_1): Do not handle here.
268 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
271 * parser.c (cp_parser_member_declaration): Check that
272 initializer_token_start is non null before dereferencing it.
274 2012-04-16 Jason Merrill <jason@redhat.com>
277 * pt.c (determine_specialization): Instead of comparing the number
278 of parms, check that tsubst gives the right answer.
281 * pt.c (convert_template_argument): Handle template template
285 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
288 2012-04-15 Jason Merrill <jason@redhat.com>
292 * pt.c (coerce_template_parms): Even if we aren't converting we
293 want to expand argument packs.
295 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
298 * parser.c (cp_parser_class_name): Call strip_using_decl and
299 return the target decl.
300 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
301 to be stripped is NULL_TREE.
302 (qualify_lookup): Call strip_using_decl and perform some checks on
305 2012-04-13 Jason Merrill <jason@redhat.com>
308 * pt.c (any_pack_expanson_args_p): New.
309 (coerce_template_parms): Use it.
311 2012-04-11 Jason Merrill <jason@redhat.com>
314 * decl.c (check_tag_decl): Don't complain about attributes if we
315 don't even have a type.
317 2012-04-05 Jason Merrill <jason@redhat.com>
320 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
323 2012-04-03 Jason Merrill <jason@redhat.com>
326 * pt.c (tsubst_initializer_list): A pack expansion with no elements
327 means value-initialization.
329 2012-03-29 Meador Inge <meadori@codesourcery.com>
332 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
333 stripped child trees that are not pointer types.
335 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
338 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
339 warn for a zero as null pointer constant default argument.
341 2012-03-29 Jason Merrill <jason@redhat.com>
344 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
346 2012-03-29 Jakub Jelinek <jakub@redhat.com>
349 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
350 if processing_template_decl.
352 2012-03-29 Jason Merrill <jason@redhat.com>
355 * call.c (compare_ics): Handle ck_aggr like ck_list.
357 2012-03-28 Jason Merrill <jason@redhat.com>
360 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
361 we didn't get an explicit scope.
362 * pt.c (tsubst_baselink): Likewise.
364 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
367 * class.c (check_field_decls): Call literal_type_p only
370 2012-03-22 Jakub Jelinek <jakub@redhat.com>
373 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
374 on CLASS_TYPE_P types.
376 2012-03-22 Jason Merrill <jason@redhat.com>
379 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
381 2012-03-22 Jakub Jelinek <jakub@redhat.com>
383 Backported from mainline
384 2012-03-14 Jakub Jelinek <jakub@redhat.com>
387 * parser.c (lookup_literal_operator): Return fn only if
388 processed all arguments from args vector and argtypes is
391 2012-03-22 Release Manager
393 * GCC 4.7.0 released.
395 2012-03-20 Jason Merrill <jason@redhat.com>
397 * mangle.c (write_type): Handle 'auto'.
398 * init.c (build_new): Don't do auto deduction where it might
399 affect template mangling.
401 2012-03-07 Jason Merrill <jason@redhat.com>
404 * mangle.c (write_literal_operator_name): The length comes after the
407 2012-02-29 Jason Merrill <jason@redhat.com>
410 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
411 (shadow_tag): From here.
412 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
414 2012-02-21 Jakub Jelinek <jakub@redhat.com>
417 * typeck.c (check_literal_operator_args): Initialize *long_double_p
418 and *long_long_unsigned_p even if processing_template_decl.
420 2012-02-16 Jason Merrill <jason@redhat.com>
423 * decl.c (define_label): Use timevar_cond_start/stop.
425 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
428 * decl.c (xref_basetypes): call dependent_scope_p instead of
431 2012-02-16 Jason Merrill <jason@redhat.com>
434 * error.c (dump_expr): Handle lambda closures specifically.
436 2012-02-14 Jason Merrill <jason@redhat.com>
438 * parser.c (cp_parser_explicit_instantiation): Give a warning
439 for ignored attributes on explicit class instantiation.
441 2012-02-14 Jakub Jelinek <jakub@redhat.com>
444 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
445 lookup_label on label's name and set TREE_USED.
447 2012-02-14 Jason Merrill <jason@redhat.com>
450 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
452 2012-02-14 Jakub Jelinek <jakub@redhat.com>
455 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
456 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
458 2012-02-07 Jason Merrill <jason@redhat.com>
461 * semantics.c (cx_check_missing_mem_inits): Handle unions.
462 Fix constexpr default constructor logic.
465 * pt.c (tsubst): Strip uninstantiated typedef.
467 2012-02-06 Jason Merrill <jason@redhat.com>
470 * cvt.c (build_expr_type_conversion): Check for template conversion.
472 2012-01-31 Jason Merrill <jason@redhat.com>
475 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
476 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
477 (tsubst_pack_expansion): Check it.
479 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
482 * class.c (explain_non_literal_class): Correctly handle implicitly
483 deleted constructors.
485 2012-01-27 Jakub Jelinek <jakub@redhat.com>
488 * pt.c (tsubst_pack_expansion): Delete and restore
489 local_specialization whenever need_local_specialization, not just
490 when saved_local_specializations is non-NULL.
492 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
495 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
496 as TREE_OPERAND (t, 1).
498 2012-01-24 Jason Merrill <jason@redhat.com>
501 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
504 * tree.c (called_fns_equal): Check template args.
505 (cp_tree_equal): Call it.
507 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
508 Patrick Marlier <patrick.marlier@gmail.com>
511 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
512 thunk for set_one_vmethod_tm_attributes.
514 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
517 * call.c (build_over_call): Check for error_mark_node as
518 TREE_VALUE when default arguments are processed.
520 2012-01-23 Jason Merrill <jason@redhat.com>
523 * decl2.c (determine_visibility): Check for visibility attribute
524 on template specialization.
526 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
529 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
531 2012-01-23 Jason Merrill <jason@redhat.com>
534 * class.c (add_method): Set OVL_USED for using-decls.
535 * tree.c (ovl_scope): New.
536 * cp-tree.h: Declare it.
537 * parser.c (cp_parser_template_name): Use it.
538 * semantics.c (baselink_for_fns): Likewise.
539 * name-lookup.c (set_inherited_value_binding_p): Likewise.
541 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
544 * pt.c (lookup_template_class_1): Check context returned by
545 tsubst for error_mark_node.
547 2012-01-19 Kai Tietz <ktietz@redhat.com>
550 * decl2.c (save_template_attributes): Use merge_attributes
551 instead of chaining up via TREE_CHAIN.
553 2012-01-19 Jason Merrill <jason@redhat.com>
556 * class.c (finish_struct): Call add_method here for function usings.
557 * semantics.c (finish_member_declaration): Not here.
559 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
562 * typeck2.c (store_init_value): Within a template guard
563 cxx_constant_value with require_potential_constant_expression.
564 * pt.c (convert_nontype_argument): Likewise.
566 2012-01-16 Jakub Jelinek <jakub@redhat.com>
569 * mangle.c (write_template_arg_literal): Handle complex.
571 2012-01-16 Jason Merrill <jason@redhat.com>
574 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
577 * typeck.c (build_static_cast_1): Handle bit-fields properly.
579 2012-01-13 Ian Lance Taylor <iant@google.com>
582 * typeck.c (enum_cast_to_int): New static function.
583 (cp_build_binary_op): When handling warn_sign_compare, don't test
584 for TREE_NO_WARNING. Do call enum_cast_to_int.
585 * call.c (avoid_sign_compare_warnings): Remove static function.
586 (build_new_op_1): Don't call avoid_sign_compare_warnings.
588 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
590 * decl2.c: Do not include tree-mudflap.h
591 * semantics.c: Likewise.
593 2012-01-13 Jason Merrill <jason@redhat.com>
596 * semantics.c (finish_break_stmt): Avoid adding an unreachable
600 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
601 when reducing the visibility.
604 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
606 2012-01-12 Jason Merrill <jason@redhat.com>
609 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
612 2012-01-13 Dodji Seketeli <dodji@redhat.com>
615 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
616 Set the pointer to the last block of the constructor to the
618 (build_constexpr_constructor_member_initializers): Get
619 build_data_member_initialization a chance to deal with more
620 statements before we choke.
622 2012-01-12 Jason Merrill <jason@redhat.com>
625 * mangle.c (write_expression): Mangle BASELINK scope if
626 BASELINK_QUALIFIED_P.
627 * search.c (adjust_result_of_qualified_name_lookup): Set
628 BASELINK_QUALIFIED_P.
629 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
630 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
631 adjust_result_of_qualified_name_lookup for non-qualified names.
634 * pt.c (unify): Handle error_mark_node.
636 2012-01-11 Jason Merrill <jason@redhat.com>
639 * call.c (standard_conversion): For ptrmemfuncs, compare the
643 * mangle.c (find_substitution): A type is only a substitution
644 match if we're looking for a type.
645 (write_nested_name): Use decl_mangling_context.
647 * decl.c (decls_match): Assert that the arguments are decls.
650 * pt.c (resolve_overloaded_unification): Compare types with
651 same_type_p, not decls_match.
653 2012-01-10 Jason Merrill <jason@redhat.com>
656 * class.c (build_base_path): Diagnose ambiguous base.
659 * semantics.c (cxx_eval_call_expression): Always retry previously
660 non-constant expressions.
662 2012-01-06 Jason Merrill <jason@redhat.com>
666 * parser.c (cp_parser_new_expression): Set
667 type_definition_forbidden_message.
673 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
674 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
676 (write_template_arg): Fix mangling of class-scope functions and
678 (mangle_decl): Update suggested -fabi-version argument.
679 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
680 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
681 * tree.c (dependent_name): No longer static.
682 * cp-tree.h: Declare it.
683 * pt.c (unify): Defer handling of unconverted functions.
685 * mangle.c (mangle_decl): Don't generate mangling aliases
686 for maybe-in-charge [cd]tors.
688 * error.c (dump_expr): Print type of CONSTRUCTOR.
690 2012-01-05 Dodji Seketeli <dodji@redhat.com>
693 * parser.c (cp_parser_alias_declaration): Get out early upon
694 errors in the identifier or the attributes.
696 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
699 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
700 the tree returned by build_x_binary_op.
702 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
705 * parser.c (cp_parser_postfix_open_square_expression): Handle
706 postfix-expression [ braced-init-list ].
708 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
711 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
712 call decay_conversion on v.
714 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
717 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
718 declaration followed by specialization.
720 2012-01-03 Jakub Jelinek <jakub@redhat.com>
723 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
724 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
726 2012-01-02 Jason Merrill <jason@redhat.com>
730 * method.c (walk_field_subobs): Don't check for uninitialized
732 (synthesized_method_walk): Check here.
736 * parser.c (cp_parser_cache_defarg): Split out...
737 (cp_parser_parameter_declaration): ...from here.
738 (cp_parser_save_nsdmi): Use it.
739 (cp_parser_cache_group): Remove CPP_COMMA support.
741 2012-01-02 Dodji Seketeli <dodji@redhat.com>
744 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
747 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
750 * typeck2.c (digest_init_r): Use copy_init when initializing
753 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
756 * decl.c (build_enumerator): Don't call perform_integral_promotions
759 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
762 * typeck.c (build_reinterpret_cast_1): Implement resolution of
765 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
767 * parser.c (cp_parser_using_declaration): Add a warning about
768 deprecated access declarations when no errors were encountered
769 while parsing the access declaration. Save the first token in
770 order to emit the warning at the right place.
772 Copyright (C) 2012 Free Software Foundation, Inc.
774 Copying and distribution of this file, with or without modification,
775 are permitted in any medium without royalty provided the copyright
776 notice and this notice are preserved.