-- { dg-do run { target *-*-solaris2.* } } -- { dg-options "-ftrapping-math" } procedure FP_Exception is type my_fixed is digits 15; for my_fixed'size use 64; fixed1 : my_fixed := 1.0; fixed2 : my_fixed := -0.0; mask_all : constant integer := 16#1F#; procedure fpsetmask(mask : in integer); pragma IMPORT (C, fpsetmask, "fpsetmask"); begin -- Mask all floating point exceptions so they can be trapped fpsetmask (mask_all); fixed1 := fixed1 / fixed2; exception when others => null; end;