1-- { dg-do run { target *-*-solaris2.* } } 2-- { dg-options "-ftrapping-math" } 3 4procedure FP_Exception is 5 6 type my_fixed is digits 15; 7 for my_fixed'size use 64; 8 fixed1 : my_fixed := 1.0; 9 fixed2 : my_fixed := -0.0; 10 mask_all : constant integer := 16#1F#; 11 12 procedure fpsetmask(mask : in integer); 13 pragma IMPORT (C, fpsetmask, "fpsetmask"); 14 15begin 16 17 -- Mask all floating point exceptions so they can be trapped 18 fpsetmask (mask_all); 19 20 fixed1 := fixed1 / fixed2; 21 22exception 23 when others => null; 24end; 25