--- gcc/config/i386/xmmintrin.h.orig 2013-01-18 14:57:27.762645582 +0100 +++ gcc/config/i386/xmmintrin.h 2013-01-18 14:58:27.604561940 +0100 @@ -37,6 +37,10 @@ /* Get _mm_malloc () and _mm_free (). */ #include +#ifdef __cplusplus +extern "C" { +#endif + /* The Intel API is flexible enough that we must allow aliasing with other vector types, and their scalar components. */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); @@ -1241,6 +1245,10 @@ (row3) = __builtin_ia32_movhlps (__t3, __t2); \ } while (0) +#ifdef __cplusplus +} +#endif + /* For backward source compatibility. */ #ifdef __SSE2__ # include