On 01/29/2013 03:21 AM, Jerry wrote:
>
> Hi Orion,
>
> This is puzzling. I can't see what could possibly be causing this. (By "this" 
> I mean the x02.adb example, as I haven't looked any of the others.) I have 
> not set ranges for any of the entities involved. (In Ada, you can specify an 
> allowed range for a variable. For instance, one could specify that r1 is 
> constrained between 0.0 and 1.0 and any attempt to assign a value outside 
> that range would raise an overflow (I think) exception.) So I don't see where 
> there is an opportunity to overflow either r1, a 64-bit float or r( ), a 
> 32-bit integer.
>
> FWIW, GNAT does something a little controversial--it defaults to disabling 
> overflow checking. The controversy is that this compiler is then, by default, 
> not an Ada compiler. But I don't see how that is apropos to this situation.
>
> Can you try running this program and report the results?
>
>
> with Ada.Text_IO;   use Ada.Text_IO;
> procedure Test_Overflow is
>      r : Integer;
>      r1 : Long_Float := 0.3;
> begin
>      Put_Line("Running....");
>      r := Integer((r1 * 255.001) - 0.499999999999999);
> end Test_Overflow;
>
>
> Compile and run:
>
> $ gnatmake Test_Overflow.adb
> $./test_overflow
>
> I also tried it with overflow checking turned on:
>
> $ gnatmake -gnato Test_Overflow.adb
> $./test_overflow
>
> It works either way on my system.


[orion@vmrawhide ~]$ gnatmake Test_Overflow.adb
gcc -c Test_Overflow.adb
Test_Overflow.adb:2:11: warning: file name does not match unit name, should be 
"test_overflow.adb"
gnatbind -x Test_Overflow.ali
gnatlink Test_Overflow.ali

[orion@vmrawhide ~]$ ./Test_Overflow
Running....

raised CONSTRAINT_ERROR : Test_Overflow.adb:7 overflow check failed
[[orion@vmrawhide ~]$ rm Test_Overflow Test_Overflow.o Test_Overflow.ali
[orion@vmrawhide ~]$ gnatmake -gnato Test_Overflow.adb
gcc -c -gnato Test_Overflow.adb
Test_Overflow.adb:2:11: warning: file name does not match unit name, should be 
"test_overflow.adb"
gnatbind -x Test_Overflow.ali
gnatlink Test_Overflow.ali
[orion@vmrawhide ~]$ ./Test_Overflow
Running....

raised CONSTRAINT_ERROR : Test_Overflow.adb:7 overflow check failed


-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder Office                  FAX: 303-415-9702
3380 Mitchell Lane                       or...@nwra.com
Boulder, CO 80301                   http://www.nwra.com

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to