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});
}
```

--

Reply via email to