[MOAB-dev] Intel 64 bug in configure
Vijay S. Mahadevan
vijay.m at gmail.com
Fri Jul 13 16:28:40 CDT 2012
There is a very serious bug that leads to data-corruption and tricky
errors that is introduced due to a typo in iBase_f.h.in.
18 #elif defined(__INTEL_COMPILER)
19 # ifdef __X86_64
20 # define IBASE_HANDLE_T integer*8
21 # else
22 # define IBASE_HANDLE_T integer*4
23 # endif
Line (19) should read "# ifdef __x86_64__". Notice the change in case
for "x86_64". Intel 64 compiler only defines __x86_64__ and __x86_64
but not __X86_64.
In cases where a 64 bit Intel compiler was used for MOAB, this defines
IBASE_HANDLE_T to be a 4 byte integer while the in the rest of the
internals handling sets etc, these are defined as 8 byte ints. I
request one of the developers to push the fix soon and add a
regression/nightly unit test to check for such typesize bugs in the
future.
Thanks,
Vijay
More information about the moab-dev
mailing list