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