aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-split.c
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2021-07-26 19:34:33 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2021-07-29 17:10:09 +0200
commit7616ed6307c90b5bbf1bf53550d33cc674ab4b6f (patch)
tree54b64dfacbd3bd53468ab91c176a033cb390383a /gcc/tree-ssa-loop-split.c
parent5c9b7408dc578cb2ae142a5c1b724c183497bdb2 (diff)
downloadgcc-7616ed6307c90b5bbf1bf53550d33cc674ab4b6f.zip
gcc-7616ed6307c90b5bbf1bf53550d33cc674ab4b6f.tar.gz
gcc-7616ed6307c90b5bbf1bf53550d33cc674ab4b6f.tar.bz2
d: Return the correct value for C++ constructor calls (PR101664)
C++ constructors return void, even though the front-end semantic treats them as implicitly returning `this'. To handle this correctly, the object reference is cached and used as the result of the expression. PR d/101664 gcc/d/ChangeLog: * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as result for C++ constructor calls. gcc/testsuite/ChangeLog: * gdc.dg/extern-c++/extern-c++.exp: New. * gdc.dg/extern-c++/pr101664.d: New test. * gdc.dg/extern-c++/pr101664_1.cc: New test.
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
0 files changed, 0 insertions, 0 deletions