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