https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118501
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >Note: the code originates from thrust, not from libstdc++! And the reason why it works with libstdc++s' complex definition is because libstdc++ uses _Complex for double types and not arrays or fields.