https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101995

--- Comment #16 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
Still present.

Perhaps more significantly (and possibly related)

class x
{
public:
  x ();
  int func ();
private:
  int a;
};

int g ()
{
  x b;
  return b.func();
}

generates:

g():
        push    {lr}
        sub     sp, sp, #12
        add     r0, sp, #4
        bl      x::x() [complete object constructor]
        add     r0, sp, #4  // Redundant - ABI returns 'this' from a
constructor
        bl      x::func()
        add     sp, sp, #12
        pop     {pc}

Reply via email to