aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-03-25 10:54:42 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-03-25 05:54:42 -0500
commit6b4e83912838357e29292b57bc5c5b61f8693f75 (patch)
tree7e4844d42f6a284fb2472d20a3440bcac37bcc99 /gcc/cp/expr.c
parente98e406fcc1d898d8d59d8a65395631e698be55e (diff)
downloadgcc-6b4e83912838357e29292b57bc5c5b61f8693f75.zip
gcc-6b4e83912838357e29292b57bc5c5b61f8693f75.tar.gz
gcc-6b4e83912838357e29292b57bc5c5b61f8693f75.tar.bz2
expr.c (cplus_expand_expr): Only do PCC_STATIC_STRUCT_RETURN thing if (aggregate_value_p (type)).
* expr.c (cplus_expand_expr): Only do PCC_STATIC_STRUCT_RETURN thing if (aggregate_value_p (type)). From-SVN: r18823
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index aa229d4..50159cd 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -114,11 +114,13 @@ cplus_expand_expr (exp, target, tmode, modifier)
}
else
{
-#ifdef PCC_STATIC_STRUCT_RETURN
- pcc_struct_return = 1;
- call_target = 0;
-#else
call_target = target;
+#ifdef PCC_STATIC_STRUCT_RETURN
+ if (aggregate_value_p (type))
+ {
+ pcc_struct_return = 1;
+ call_target = 0;
+ }
#endif
}