From 281389b7e73970fb93b075adc3335a8090cc77fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Mon, 9 Nov 2020 12:54:06 +0100 Subject: [PATCH] [CRT] Use ASM aliases for CLang builds --- sdk/lib/crt/stdlib/rot.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sdk/lib/crt/stdlib/rot.c b/sdk/lib/crt/stdlib/rot.c index 3c4b613a3a6..51a6a6c0218 100644 --- a/sdk/lib/crt/stdlib/rot.c +++ b/sdk/lib/crt/stdlib/rot.c @@ -19,8 +19,16 @@ #pragma function(_rotr, _rotl, _rotr, _lrotl, _lrotr) #endif -unsigned int _rotr( unsigned int value, int shift ); -unsigned long _lrotr(unsigned long value, int shift); +#if defined (__clang__) && !defined(_MSC_VER) +#define ASM_ALIAS __asm__ +#else +#define ASM_ALIAS(x) +#endif + +unsigned int _rotr( unsigned int value, int shift ) ASM_ALIAS("__rotr"); +unsigned long _lrotr(unsigned long value, int shift) ASM_ALIAS("__lrotr"); +unsigned int _rotl( unsigned int value, int shift ) ASM_ALIAS("__rotl"); +unsigned long _lrotl( unsigned long value, int shift ) ASM_ALIAS("__lrotl"); /* * @implemented