semantics.c (simplify_aggr_init_exprs_p): Don't walk into types.

* semantics.c (simplify_aggr_init_exprs_p): Don't walk into
	types.

From-SVN: r32210
This commit is contained in:
Mark Mitchell 2000-02-27 05:30:00 +00:00 committed by Mark Mitchell
parent 4278955754
commit 22e92ac3b6
3 changed files with 44 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-02-26 Mark Mitchell <mark@codesourcery.com>
* semantics.c (simplify_aggr_init_exprs_p): Don't walk into
types.
2000-02-25 Alfred Minarik <a8601248@unet.univie.ac.at>
* rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info

View File

@ -2618,9 +2618,19 @@ simplify_aggr_init_exprs_r (tp, walk_subtrees, data)
tree call_type;
int copy_from_buffer_p;
/* Only AGGR_INIT_EXPRs are interesting. */
aggr_init_expr = *tp;
if (TREE_CODE (aggr_init_expr) != AGGR_INIT_EXPR)
/* We don't need to walk into types; there's nothing in a type that
needs simplification. (And, furthermore, there are places we
actively don't want to go. For example, we don't want to wander
into the default arguments for a FUNCTION_DECL that appears in a
CALL_EXPR.) */
if (TYPE_P (aggr_init_expr))
{
*walk_subtrees = 0;
return NULL_TREE;
}
/* Only AGGR_INIT_EXPRs are interesting. */
else if (TREE_CODE (aggr_init_expr) != AGGR_INIT_EXPR)
return NULL_TREE;
/* Form an appropriate CALL_EXPR. */

View File

@ -0,0 +1,27 @@
// Origin: scott snyder <snyder@fnal.gov>
class complex
{
public:
complex();
};
struct MLC33
{
MLC33( const complex& = complex() );
};
void EmptyClone()
{
MLC33();
}
void makeM33()
{
MLC33();
}
void Clone()
{
MLC33();
}