diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-07-26 19:34:33 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2021-07-29 17:10:09 +0200 |
commit | 7616ed6307c90b5bbf1bf53550d33cc674ab4b6f (patch) | |
tree | 54b64dfacbd3bd53468ab91c176a033cb390383a /gcc/tree-ssa-loop-split.c | |
parent | 5c9b7408dc578cb2ae142a5c1b724c183497bdb2 (diff) | |
download | gcc-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