mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 03:30:27 +08:00
foo
From-SVN: r167769
This commit is contained in:
parent
f0c2df63c6
commit
42aa5ada5f
@ -5485,9 +5485,20 @@ build_data_member_initialization (tree t, VEC(constructor_elt,gc) **vec)
|
||||
init = unshare_expr (TREE_OPERAND (t, 1));
|
||||
if (TREE_CODE (member) == INDIRECT_REF)
|
||||
{
|
||||
/* Don't put out anything for an empty base. */
|
||||
gcc_assert (is_empty_class (TREE_TYPE (member)));
|
||||
return true;
|
||||
tree op = TREE_OPERAND (member, 0);
|
||||
STRIP_NOPS (op);
|
||||
gcc_assert (TREE_CODE (op) == ADDR_EXPR);
|
||||
op = TREE_OPERAND (op, 0);
|
||||
if (TREE_CODE (op) == COMPONENT_REF)
|
||||
/* Initializing a cv-qualified member; we just looked through
|
||||
the const_cast. */
|
||||
member = op;
|
||||
else
|
||||
{
|
||||
/* Initializing an empty base; just skip it. */
|
||||
gcc_assert (is_empty_class (TREE_TYPE (member)));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user