When Eigen is used on Windows with __ARM_NEON__ defined, the following compilation error is produced:
eigen\src/Core/arch/NEON/PacketMath.h(109): error C2766: explicit specialization; 'Eigen::internal::unpacket_traits<Eigen::internal::Packet4f>' has already been defined
Packet4f and Packet4i are defined (in PacketMath.h) as:
typedef float32x4_t Packet4f;
typedef int32x4_t Packet4i;
And float32x4_t and int32x4_t are defined (in MSVC's arm_neon.h) as:
typedef __n128 float32x4_t;
typedef __n128 int32x4_t;
Presumably the preprocessor checks need to be updated to handle this case specifically for MSVC.
here is an attempt to fix the issue:
anybody should be able to check the success of it there:
once the trunk version of Eigen will be updated (nightly).
This sounds like a problem that could be solved cleaner with Meta-Packets (Bug 692)
another smaller fix:
-- 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/1428.