> Unfortunately this breaks quite a lot of things.
Right, for example in Ada where we now happily turn a division by zero, which
should raise an exception with -gnatp, into nonsense. Do we really need this
rather useless optimization in GCC? Blindly mimicing LLVM is not a reason...
I have installed the attached testcase, which now fails because of the change.
* gnat.dg/div_zero.adb: New test.
--
Eric Botcazou
-- { dg-do run }
-- This test requires architecture- and OS-specific support code for unwinding
-- through signal frames (typically located in *-unwind.h) to pass. Feel free
-- to disable it if this code hasn't been implemented yet.
procedure Div_Zero is
pragma Suppress (All_Checks);
function Zero return Integer is
begin
return 0;
end;
D : Integer := Zero;
begin
D := 1 / D;
raise Program_Error;
exception
when Constraint_Error => null;
end;