diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 69876090ec6..b366a4f429a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2014-08-19 Gerald Pfeifer + + * class.c (contains_empty_class_p): Remove. + 2014-08-18 Paolo Carlini * parser.c (cp_parser_expression): Add default arguments. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 7f6952ae908..c7ecf7026a6 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -208,7 +208,6 @@ static int splay_tree_compare_integer_csts (splay_tree_key k1, splay_tree_key k2); static void warn_about_ambiguous_bases (tree); static bool type_requires_array_cookie (tree); -static bool contains_empty_class_p (tree); static bool base_derived_from (tree, tree); static int empty_base_at_nonzero_offset_p (tree, tree, splay_tree); static tree end_of_base (tree); @@ -7796,35 +7795,6 @@ is_empty_class (tree type) return CLASSTYPE_EMPTY_P (type); } -/* Returns true if TYPE contains an empty class. */ - -static bool -contains_empty_class_p (tree type) -{ - if (is_empty_class (type)) - return true; - if (CLASS_TYPE_P (type)) - { - tree field; - tree binfo; - tree base_binfo; - int i; - - for (binfo = TYPE_BINFO (type), i = 0; - BINFO_BASE_ITERATE (binfo, i, base_binfo); ++i) - if (contains_empty_class_p (BINFO_TYPE (base_binfo))) - return true; - for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field)) - if (TREE_CODE (field) == FIELD_DECL - && !DECL_ARTIFICIAL (field) - && is_empty_class (TREE_TYPE (field))) - return true; - } - else if (TREE_CODE (type) == ARRAY_TYPE) - return contains_empty_class_p (TREE_TYPE (type)); - return false; -} - /* Returns true if TYPE contains no actual data, just various possible combinations of empty classes and possibly a vptr. */