Incomplete declaration of __m256 AVX data type in Visual Studio 2010

Incomplete declaration of __m256 AVX data type in Visual Studio 2010

I detected a small issue with declaration of __m256 AVX data type in Visual Studio 2010 and the declaration is incomplete.

Please take a look at three pieces of codes from Visual Studio 2010, Visual Studio 2012 and Intel C++ Composer XE 2013 ( 13.0.089 / Initial Release ):

[ Visual Studio 2010 - immintrin.h ]
...
typedef struct __declspec(intrin_type) _CRT_ALIGN(32) { <= A tag name is missing
double m256d_f64[4];
} __m256d;
...

[ Visual Studio 2012 - immintrin.h ]
...
typedef struct __declspec(intrin_type) _CRT_ALIGN(32) __m256d {
double m256d_f64[4];
} __m256d;
...

[ Intel C++ Composer XE 2013 - immintrin.h ]
...
typedef struct _MMINTRIN_TYPE(32) __m256d {
double m256d_f64[4];
} __m256d;
...

Note: It was fixed in Visual Studio 2012.

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.