summaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authormerrill <merrill@138bc75d-0d04-0410-961f-82ee72b054a4>1994-10-27 01:22:58 +0000
committermerrill <merrill@138bc75d-0d04-0410-961f-82ee72b054a4>1994-10-27 01:22:58 +0000
commit0d77f64c7888be6ec16bcc75e4b3685f4034a074 (patch)
tree4e5b97d302910a34e3d6be43511996ecb3e9d0f7 /gcc/cp/expr.c
parentd625a8d9eae96f9c45e7541ca8929df1b5cade06 (diff)
downloadgcc-0d77f64c7888be6ec16bcc75e4b3685f4034a074.tar.gz
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8347 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index c2213d5f661..3b4f65d1b81 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -148,9 +148,16 @@ cplus_expand_expr (exp, target, tmode, modifier)
{
if (pcc_struct_return)
{
+ extern int flag_access_control;
+ int old_ac = flag_access_control;
+
tree init = build (RTL_EXPR, type, 0, return_target);
TREE_ADDRESSABLE (init) = 1;
+
+ flag_access_control = 0;
expand_aggr_init (slot, init, 0);
+ flag_access_control = old_ac;
+
if (TYPE_NEEDS_DESTRUCTOR (type))
{
init = build (RTL_EXPR, build_reference_type (type), 0,