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

            Bug ID: 88174
           Summary: Make __real__ += __val usable in constexpr context.
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: emsr at gcc dot gnu.org
  Target Milestone: ---

While updating libstdc++ for constexpr operators I came across this:
    __real__ _M_value += __z.real();
is not constexpr even though
    __real__ _M_value = __z.real();
is.

I was able to use a workaraound with complex::__rep() but having the op= JUST
WORK would have made the patch less invasive.

I request that for the usual arithmetic operators @ = [+-*/]
    __real__ _M_value @= __re;
    __imag__ _M_value @= __im;
be available in contexpr contexts.

Reply via email to