https://git.reactos.org/?p=reactos.git;a=commitdiff;h=281389b7e73970fb93b075adc3335a8090cc77fa

commit 281389b7e73970fb93b075adc3335a8090cc77fa
Author:     Jérôme Gardou <jerome.gar...@reactos.org>
AuthorDate: Mon Nov 9 12:54:06 2020 +0100
Commit:     Jérôme Gardou <zefk...@users.noreply.github.com>
CommitDate: Mon Nov 16 16:58:10 2020 +0100

    [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

Reply via email to