(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
torture/
pr103040.C
// { dg-do run }
// { dg-additional-options "-fno-early-inlining" }
struct S101273
{
    int x;
    S101273* impl;
    S101273(int x)
    {
        this->x = x;
        this->impl = this;
    }
    S101273(const S101273 &o)
    {
	this->x = o.x;
	this->impl = this;
    }
    ~S101273() { }
};

S101273 makeS101273()
{
    return S101273(2);
}

S101273 nrvo101273()
{
    S101273 ret = makeS101273();
    return ret;
}

int main()
{
    auto nrvo = nrvo101273();
    if(&nrvo != nrvo.impl) __builtin_abort ();

    return 0;
}