https://issues.dlang.org/show_bug.cgi?id=23864
Steven Schveighoffer <schvei...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schvei...@gmail.com --- Comment #3 from Steven Schveighoffer <schvei...@gmail.com> --- Walter, this is the same issue I got when building stb_image.h (one of them) The file I used is here: https://github.com/raysan5/raylib/blob/4.0.0/src/external/stb_image.h The C file I tried to compile is: ```c #define STB_IMAGE_IMPLEMENTATION #include "stb_image.h" ``` The errors I get are: ``` /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h(1016): Error: expression expected, not `__attribute__` /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h(1016): Error: found `int` when expecting `)` /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h(1017): Error: found `{` when expecting `;` following `return` statement /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h(1017): Error: found `}` when expecting `;` following statement /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h(1017): Error: found `)` instead of statement stb_image.h(1249): Error: expression expected, not `{` stb_image.h(1249): Error: found `if` when expecting `)` stb_image.h(1249): Error: found `;` when expecting `)` stb_image.h(1249): Error: found `else` when expecting `;` following statement stb_image.h(1249): Error: no type for declarator before `)` stb_image.h(1251): Error: no type for declarator before `if` stb_image.h(1253): Error: no type-specifier for declarator stb_image.h(1254): Error: no type for declarator before `}` stb_image.h(1258): Error: no type for declarator before `if` stb_image.h(1260): Error: found `,` when expecting `)` stb_image.h(1260): Error: `=`, `;` or `,` expected to end declaration instead of `*` stb_image.h(1261): Error: no type for declarator before `}` stb_image.h(1263): Error: no type for declarator before `return` stb_image.h(1264): Error: no type for declarator before `}` stb_image.h(1275): Error: expression expected, not `{` ``` The errors in stb_image.h are assert calls. The ones deep in xmmintrin.h are some sort of vector call, probably an intrinsic. The code is: ```c extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_move_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_shuffle ((__v4sf)__A, (__v4sf)__B, __extension__ (__attribute__((__vector_size__ (16))) int) {4,1,2,3}); } ``` --