On Thu, 3 May 2018, Richard Biener wrote:
>
> The following fixes PR85627 and more generally complex lowering not
> preserving EH information with -fnon-call-exceptions when replacing
> complex multiplication or division with a libcall.
>
> This requires changing BUILT_IN_COMPLEX_{MUL,DIV} to be
> Test coverage of -fnon-call-exceptions is notoriously bad and I'm not
> sure whether Ada uses GCCs complex types. Eric?
It does, but only with a GNAT-specific pragma:
https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gnat_rm/Pragma-Complex_005fRepresentation.html#Pragma-Complex_005fRepresentation
who
The following fixes PR85627 and more generally complex lowering not
preserving EH information with -fnon-call-exceptions when replacing
complex multiplication or division with a libcall.
This requires changing BUILT_IN_COMPLEX_{MUL,DIV} to be no longer
declared nothrow - complex lowering (which l