Skip to content

CIL fails to parse clang-20 xmmintrin.h #155

@mbyzhang

Description

@mbyzhang

CIL fails to parse C sources that include clang-20 xmmintrin.h.

Minimal C source xmm.c

#include <xmmintrin.h>

allocscc output from ALLOCSCC_CC=clang-20 CC_IS_CLANG=1 allocscc -c xmm.c

Warning: lexing _Float64 as an ident
Warning: lexing _Float64 as an ident
/usr/lib/llvm-20/lib/clang/20/include/xmmintrin.h[1696:31-124] : syntax error
Parsing errorFatal error: exception Frontc.ParseError("Parse error")

The offending lines in xmmintrin.h are

static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
_mm_cvtpi32_ps(__m128 __a, __m64 __b)
{
  return (__m128)__builtin_shufflevector(
      (__v4sf)__a,
      __builtin_convertvector((__v4si)__zext128(__b), __v4sf), // <-- This is line 1696
      4, 5, 2, 3);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions