Divide by zero does not throw exception for longs

Alexandre Petit-Bianco apbianco@cygnus.com
Mon Jun 11 14:04:00 GMT 2001


Aneesh Aggarwal writes:

> I have filed a bug-report, the identification is java/3097. I
> thought I'll mention it here so that it gets some attention and if
> the bug is present in the 3.0 release, it might be fixed.

One work around is to use -fuse-divide-subroutine. Are they any
options, I don't know. But it should solve your problem for now:

  apbianco@venonat[~/support/net/PRs/3097]: gcj div_test_long.java --main=div_test_long     
  apbianco@venonat[~/support/net/PRs/3097]: ./a.out 
  Exception in thread "main" java.lang.ArithmeticException: / by zero
   at 0x4014965c: _Jv_ThrowSignal (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcj.so.2)
   at 0x401496f1: _Jv_ThrowSignal (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcj.so.2)
   at 0x08048b55: div_test_long.main(java.lang.String[]) (/home/apbianco/support/net/PRs/3097/div_test_long.java:5)
   at 0x401601a7: gnu.gcj.runtime.FirstThread.run() (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcj.so.2)
   at 0x4016afe2: java.lang.Thread.run_(java.lang.Object) (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcj.so.2)
   at 0x40277f45: _Jv_ThreadSetPriority(_Jv_Thread_t, int) (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcj.so.2)
   at 0x4049e6bc: GC_start_routine (/home/apbianco/install/gcc-3.0/install-x86/lib/libgcjgc.so.1)
   at 0x404b795d: pthread_detach (/lib/libpthread.so.0)
   at 0x405b6f1a: __clone (/lib/libc.so.6)

  apbianco@venonat[~/support/net/PRs/3097]: gcj div_test_long.java --main=div_test_long -fuse-divide-subroutine
  apbianco@venonat[~/support/net/PRs/3097]: ./a.out 
  Div by zero working
 
I'll update the PR with the work around.

./A



More information about the Java mailing list