comp.lang.ada
 help / color / mirror / Atom feed
* GNAT does not consistently raise an exception to log(0.0)
@ 2013-07-13  0:52 Jerry
  2013-07-13  1:47 ` Anh Vo
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Jerry @ 2013-07-13  0:52 UTC (permalink / raw)


When the following program is built with any of theses compilers:

GNATMAKE GPL 2013 (20130314) (downloaded from AdaCore)
GNATMAKE GPL 2011 (20110419) (downloaded from AdaCore)
GNATMAKE 4.8.0 (Simon Wright's build)

like this:

$ gnatmake -f bomb_log.adb -OX

then if X = 0 (zero) the expected exception is raised and reported thusly:

raised CONSTRAINT_ERROR : a-ngelfu.adb:744 explicit raise

else if X > 0 no exception is raised.


with Ada.Numerics.Long_Elementary_Functions; 
use  Ada.Numerics.Long_Elementary_Functions;
procedure Bomb_Log is
    x : Long_Float;
begin
    x := log(0.0);
end Bomb_Log;


However, under the same conditions as above, the following program raises the exception always:


with Ada.Numerics.Long_Elementary_Functions; 
use  Ada.Numerics.Long_Elementary_Functions;
with Ada.Text_IO;
use  Ada.Text_IO;
procedure Bomb_Log is
    x : Long_Float;
begin
    x := log(0.0);
    Put_Line(Long_Float'Image(x));
end Bomb_Log;


Jerry

P.S. What is the meaning of -O99999 as a gnatmake argument?

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-07-15 17:16 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-13  0:52 GNAT does not consistently raise an exception to log(0.0) Jerry
2013-07-13  1:47 ` Anh Vo
2013-07-13  2:12   ` Jerry
2013-07-13  2:28     ` Anh Vo
2013-07-13  3:33       ` Jerry
2013-07-14  3:28       ` Jerry
2013-07-14 13:35         ` Anh Vo
2013-07-15  8:25           ` Jerry
2013-07-13  7:26 ` Dmitry A. Kazakov
2013-07-14  3:34   ` Jerry
2013-07-14  3:51   ` Jerry
2013-07-13  7:34 ` Simon Wright
2013-07-14  3:42   ` Jerry
2013-07-13  9:37 ` AdaMagica
2013-07-14  3:44   ` Jerry
2013-07-15 17:16     ` AdaMagica

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox