OSDN Git Service

PR c++/52824
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index e88d64e..a3a58f6 100644 (file)
@@ -1,3 +1,291 @@
+2012-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52824
+       * pt.c (any_pack_expanson_args_p): New.
+       (coerce_template_parms): Use it.
+
+2012-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52906
+       * decl.c (check_tag_decl): Don't complain about attributes if we
+       don't even have a type.
+
+2012-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52596
+       * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
+       as an lvalue.
+
+2012-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52796
+       * pt.c (tsubst_initializer_list): A pack expansion with no elements
+       means value-initialization.
+
+2012-03-29  Meador Inge  <meadori@codesourcery.com>
+
+       PR c++/52672
+       * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
+       stripped child trees that are not pointer types.
+
+2012-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/52718
+       * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
+       warn for a zero as null pointer constant default argument.
+
+2012-03-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52685
+       * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
+
+2012-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52759
+       * decl.c (start_decl): Don't call maybe_apply_pragma_weak
+       if processing_template_decl.
+
+2012-03-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52743
+       * call.c (compare_ics): Handle ck_aggr like ck_list.
+
+2012-03-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52746
+       * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
+       we didn't get an explicit scope.
+       * pt.c (tsubst_baselink): Likewise.
+
+2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/52487
+       * class.c (check_field_decls): Call literal_type_p only
+       on complete types.
+
+2012-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52671
+       * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
+       on CLASS_TYPE_P types.
+
+2012-03-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52582
+       * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
+
+2012-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       Backported from mainline
+       2012-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52521
+       * parser.c (lookup_literal_operator): Return fn only if
+       processed all arguments from args vector and argtypes is
+       void_list_node.
+
+2012-03-22  Release Manager
+
+       * GCC 4.7.0 released.
+
+2012-03-20  Jason Merrill  <jason@redhat.com>
+
+       * mangle.c (write_type): Handle 'auto'.
+       * init.c (build_new): Don't do auto deduction where it might
+       affect template mangling.
+
+2012-03-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52521
+       * mangle.c (write_literal_operator_name): The length comes after the
+       operator prefix.
+
+2012-02-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51930
+       * decl.c (check_tag_decl): Move warning for misplaced attributes here.
+       (shadow_tag): From here.
+       * parser.c (cp_parser_explicit_instantiation): Don't warn here.
+
+2012-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52312
+       * typeck.c (check_literal_operator_args): Initialize *long_double_p
+       and *long_long_unsigned_p even if processing_template_decl.
+
+2012-02-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52248
+       * decl.c (define_label): Use timevar_cond_start/stop.
+
+2012-02-16  Fabien ChĂȘne  <fabien@gcc.gnu.org>
+
+       PR c++/52126
+       * decl.c (xref_basetypes): call dependent_scope_p instead of
+       dependent_type_p.
+
+2012-02-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51415
+       * error.c (dump_expr): Handle lambda closures specifically.
+
+2012-02-14  Jason Merrill  <jason@redhat.com>
+
+       * parser.c (cp_parser_explicit_instantiation): Give a warning
+       for ignored attributes on explicit class instantiation.
+
+2012-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/52247
+       * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
+       lookup_label on label's name and set TREE_USED.
+
+2012-02-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/39055
+       * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
+
+2012-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/52181
+       * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
+       newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
+
+2012-02-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51675
+       * semantics.c (cx_check_missing_mem_inits): Handle unions.
+       Fix constexpr default constructor logic.
+
+       PR c++/52035
+       * pt.c (tsubst): Strip uninstantiated typedef.
+
+2012-02-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52088
+       * cvt.c (build_expr_type_conversion): Check for template conversion.
+
+2012-01-31  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52043
+       * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
+       * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
+       (tsubst_pack_expansion): Check it.
+
+2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51327
+       * class.c (explain_non_literal_class): Correctly handle implicitly
+       deleted constructors.
+
+2012-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51852
+       * pt.c (tsubst_pack_expansion): Delete and restore
+       local_specialization whenever need_local_specialization, not just
+       when saved_local_specializations is non-NULL.
+
+2012-01-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51370
+       * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
+       as TREE_OPERAND (t, 1).
+
+2012-01-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51917
+       * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
+
+       PR c++/51973
+       * tree.c (called_fns_equal): Check template args.
+       (cp_tree_equal): Call it.
+
+2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
+           Patrick Marlier  <patrick.marlier@gmail.com>
+
+       PR c++/51928
+       * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
+       thunk for set_one_vmethod_tm_attributes.
+
+2012-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51223
+       * call.c (build_over_call): Check for error_mark_node as
+       TREE_VALUE when default arguments are processed.
+
+2012-01-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51930
+       * decl2.c (determine_visibility): Check for visibility attribute
+       on template specialization.
+
+2012-01-23  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51398
+       * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
+
+2012-01-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51925
+       * class.c (add_method): Set OVL_USED for using-decls.
+       * tree.c (ovl_scope): New.
+       * cp-tree.h: Declare it.
+       * parser.c (cp_parser_template_name): Use it.
+       * semantics.c (baselink_for_fns): Likewise.
+       * name-lookup.c (set_inherited_value_binding_p): Likewise.
+
+2012-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51402
+       * pt.c (lookup_template_class_1): Check context returned by
+       tsubst for error_mark_node.
+
+2012-01-19  Kai Tietz  <ktietz@redhat.com>
+
+       PR c++/51344
+       * decl2.c (save_template_attributes): Use merge_attributes
+       instead of chaining up via TREE_CHAIN.
+
+2012-01-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51889
+       * class.c (finish_struct): Call add_method here for function usings.
+       * semantics.c (finish_member_declaration): Not here.
+
+2012-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51225
+       * typeck2.c (store_init_value): Within a template guard
+       cxx_constant_value with require_potential_constant_expression.
+       * pt.c (convert_nontype_argument): Likewise.
+
+2012-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51854
+       * mangle.c (write_template_arg_literal): Handle complex.
+
+2012-01-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51827
+       * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
+
+       PR c++/51868
+       * typeck.c (build_static_cast_1): Handle bit-fields properly.
+
+2012-01-13  Ian Lance Taylor  <iant@google.com>
+
+       PR c++/50012
+       * typeck.c (enum_cast_to_int): New static function.
+       (cp_build_binary_op): When handling warn_sign_compare, don't test
+       for TREE_NO_WARNING.  Do call enum_cast_to_int.
+       * call.c (avoid_sign_compare_warnings): Remove static function.
+       (build_new_op_1): Don't call avoid_sign_compare_warnings.
+
+2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * decl2.c: Do not include tree-mudflap.h
+       * semantics.c: Likewise.
+
 2012-01-13  Jason Merrill  <jason@redhat.com>
 
        PR c++/20681