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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>From the original dump:
{
  const struct complex a = {._M_value=__complex__
(1.10000002384185791015625e+0, 2.2000000476837158203125e+0)};
  const struct complex b = {._M_value=__complex__ (3.2999999523162841796875e+0,
4.400000095367431640625e+0)};

  <<cleanup_point   const struct complex a = {._M_value=__complex__
(1.10000002384185791015625e+0, 2.2000000476837158203125e+0)};>>;
  <<cleanup_point   const struct complex b = {._M_value=__complex__
(3.2999999523162841796875e+0, 4.400000095367431640625e+0)};>>;
  <<cleanup_point return <retval> = TARGET_EXPR <D.68654, TARGET_EXPR <D.68676,
{._M_value=__complex__ (1.10000002384185791015625e+0,
2.2000000476837158203125e+0) + __complex__ (3.2999999523162841796875e+0,
4.400000095367431640625e+0)}>>>>;
}
Which looks fine as we have COMPLEX_CST+COMPLEX_CST

But then in the gimple dump we get:
      <retval> = *.LC2D.78102;

Which is broken.

Reply via email to