> > But the problems I was seeing were not MSVC specific. It's a > > proliferation of arcane (non-POSIX) function use (like strcasecmp, > > etc.) missing use of HAVE_UNISTD_H, HAVE_STRINGS_H to wrap > > non-standard headers, unsafe mixing of > > int32<->int64 data types, reliance on int (and other types) having a > > certain bit-size, totally unsafe shift operations, wide use of > > (non-C-standard) gcc extensions, etc. Should I go on?
More investigation shows that the code currently assumes group (and processor) masks to be 32 bit, which is not true on 64 bit systems. For instance this (topology-windows.c: line 643): hwloc_bitmap_from_ith_ulong(obj->cpuset, GroupMask[i].Group, GroupMask[i].Mask); fails as GroupMask[i].Mask is a 64 bit value. There are probably other places where the same assumption leads to problems. Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu