the bug should be only in windows OS
my test evnironment is win2k and win xp. they are not work well. I have try those compiler: Gnat 3.15 p / mingw 3.42 / mingw 4.1 --the test code is With Ada.Text_Io; Procedure Trading Is Type Price Is Delta 0.01 Digits 18; Type PriceArray Is Array (Positive Range <>) Of price; Procedure Avg (Data : In PriceArray) Is Avg, Sum : Price'Base := 0.0; Begin Ada.Text_Io.Put ("average:" ); For Index In Data'Range Loop Sum := Sum + Data (Index); End Loop; Avg := Sum / Data'Length; Ada.Text_Io.Put (Price'Image (Avg)); Ada.Text_Io.New_Line; Exception When Others => Ada.Text_Io.Put_Line ("error here!"); End; Begin For Index In Reverse 0 .. 9 Loop For Step In 1 .. 3 Loop Declare Mydata : Pricearray (1 .. Index) := (Others => 10.0); Begin Avg (Mydata); End; End Loop; End Loop; end Trading; ----end the test code -- Summary: fixed point error cause Ada exception block does NOT work Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: critical Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kuan_long at hotmail dot com CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23514