In Eigen/src/Core/util/Memory.h the inline function cpuid_is_vendor is defined as inline bool cpuid_is_vendor(int abcd[4], const char* vendor) { return abcd[1]==(reinterpret_cast<const int*>(vendor))[0] && abcd[3]==(reinterpret_cast<const int*>(vendor))[1] && abcd[2]==(reinterpret_cast<const int*>(vendor))[2]; } The char* is not required to be 4-byte aligned and this can be reported as an error by some memory checkers /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:782:19: runtime error: load of misaligned address 0x7faac5cdbbfb for type 'const int', which requires 4 byte alignment 0x7faac5cdbbfb: note: pointer points here 6c 2e 68 00 47 65 6e 75 69 6e 65 49 6e 74 65 6c 00 41 75 74 68 65 6e 74 69 63 41 4d 44 00 41 4d ^ /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:782:73: runtime error: load of misaligned address 0x7faac5cdbbff for type 'const int', which requires 4 byte alignment 0x7faac5cdbbff: note: pointer points here 47 65 6e 75 69 6e 65 49 6e 74 65 6c 00 41 75 74 68 65 6e 74 69 63 41 4d 44 00 41 4d 44 69 73 62 ^ /data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/util/Memory.h:782:127: runtime error: load of misaligned address 0x7faac5cdbc03 for type 'const int', which requires 4 byte alignment 0x7faac5cdbc03: note: pointer points here 69 6e 65 49 6e 74 65 6c 00 41 75 74 68 65 6e 74 69 63 41 4d 44 00 41 4d 44 69 73 62 65 74 74 65 ^ Unfortunately this is causing all the R packages that use Eigen through RcppEigen to be held because of this "error". It seems that if the int vector is cast to a const char* then comparison can be made without the runtime system flagging this. I can work on a patch and pull request if you wish.
I prefer to avoid byte by byte comparison, so I converted the const char* to int manually: https://bitbucket.org/eigen/eigen/commits/ff7e83388d52/ Changeset: ff7e83388d52 User: ggael Date: 2014-05-01 23:03:54 Summary: Fix bug 803: avoid char* to int* conversion
Thank you.
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/803.