[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