Brian Drummond wrote:

AAAH! do you have anti-virus running? If you (go offline and)
turn it off, do we get the printf?

Still no printf to be seen with antivirus off.


what raises the overflow?

FWIW, if I force an Integer-Out-of-Range error ( as opposed to an Index-Out-of-Range error ), I get the desired results: c:\ghdl\ghdl-0.31-patched\bin\ghdl.exe:error: bound check failure at integer_range_test.vhd:15
 c:\ghdl\ghdl-0.31-patched\bin\ghdl.exe:error: simulation failed

Note that the above was run using your patch + the extra printf & fflush at the beginning of ghdl_SEH_handler().

The lack of any "in ghdl_SEH_handler" message suggests that the road to the above Bound Check error message does not lead through ghdl_SEH_handler().

-Brian

integer_range_test.vhd Run Log:

C:\brian\jobs\ghdl_test\test_exceptions>ghdl -v
GHDL 0.31 (20140108) [Dunoon edition] +Patch for Integer Overflow Message
Compiled with GNAT Version: GPL 2013 (20130314)
mcode code generator
<snip>

C:\brian\jobs\ghdl_test\test_exceptions>ghdl -a integer_range_test.vhd

C:\brian\jobs\ghdl_test\test_exceptions>ghdl -e integer_range_test

C:\brian\jobs\ghdl_test\test_exceptions>ghdl -r integer_range_test
c:\ghdl\ghdl-0.31-patched\bin\ghdl.exe:error: bound check failure at integer_range_test.vhd:15
c:\ghdl\ghdl-0.31-patched\bin\ghdl.exe:error: simulation failed

C:\brian\jobs\ghdl_test\test_exceptions>cat integer_range_test.vhd
entity integer_range_test is
end integer_range_test;

architecture behaviour of integer_range_test is


begin
   process
      variable i,j,k : integer range 0 to 255;

   begin
     i := 255;
     j := 1;

     k := i + j;

     wait;
   end process;

 end behaviour;

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to