reactos/sdk/lib/ucrt/inc
Timo Kreuzer 719ea022ec [UCRT] Fix GCC/Clang SIMD compilation
GCC and Clang need to mark functions that use SSE/AVX etc, either with a function attribute or a pragma around the function. strlen uses a template function that either uses SSE2 or AVX2. Previously the template was surrounded with pragmas to allow both SSE2 and AVX2, but that makes GCC assume that it can use AVX2 instructions even in the SSE2 version. To fix this the template instances are now build in individual compilation units for SSE2 and AVX, separate from the "dispatcher" function.
Now ucrtbase doesn't crash anymore on GCC build.

Another issue was the namespace around strnlen_mode, which has confused clang so much, that it forgot to instantiate the template code.
2025-07-29 09:22:15 +03:00
..
i386
corecrt_internal.h
corecrt_internal_big_integer.h [UCRT] Use GCC inline assembler 2025-01-16 14:18:53 +02:00
corecrt_internal_fltintrn.h [UCRT] Fix non-standard literal suffixes 2025-01-16 14:18:53 +02:00
corecrt_internal_lowio.h
corecrt_internal_mbstring.h
corecrt_internal_ptd_propagation.h
corecrt_internal_securecrt.h
corecrt_internal_simd.h [UCRT] Fix GCC/Clang SIMD compilation 2025-07-29 09:22:15 +03:00
corecrt_internal_state_isolation.h [UCRT] Fix/improve __crt_state_management 2025-01-22 18:56:08 +02:00
corecrt_internal_stdio.h [UCRT] Fix non-standard extern "C" usage 2025-01-16 14:18:53 +02:00
corecrt_internal_stdio_input.h
corecrt_internal_stdio_output.h [UCRT] Hack some template code, so that retarded compilers can handle it 2025-01-16 14:18:53 +02:00
corecrt_internal_string_templates.h
corecrt_internal_strtox.h [UCRT] Use a C cast instead of const_cast for GCC 2025-01-16 14:18:53 +02:00
corecrt_internal_time.h [UCRT] Fix non-standard literal suffixes 2025-01-16 14:18:53 +02:00
corecrt_internal_traits.h [UCRT] Add a hack for a clang bug 2025-01-16 14:18:53 +02:00
corecrt_internal_win32_buffer.h [UCRT] Fix a typo/bug in __acrt_mbs_to_wcs_cp_array 2025-01-16 14:18:53 +02:00
ksamd64.inc
ksamd64_stub.inc
kxamd64.inc
kxamd64_stub.inc
macamd64.inc