ArmPkg/CompilerIntrinsicsLib: use Clang-compatible 'weak' attribute

Clang does not like separate definitions for the __alias__ and the
__weak__ attributes, so merge the definitions into one.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/memset.c b/ArmPkg/Library/CompilerIntrinsicsLib/memset.c
index 0d837fc..7271b4b 100644
--- a/ArmPkg/Library/CompilerIntrinsicsLib/memset.c
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/memset.c
@@ -26,20 +26,17 @@
   return s;
 }
 
-__attribute__((__alias__("__memset")))
-void *memset(void *dest, int c, size_t n);
-
-#ifdef __arm__
-
 //
 // Other modules (such as CryptoPkg/IntrinsicLib) may provide another
 // implementation of memset(), which may conflict with this one if this
 // object was pulled into the link due to the definitions below. So make
 // our memset() 'weak' to let the other implementation take precedence.
 //
-__attribute__((__weak__))
+__attribute__((__weak__, __alias__("__memset")))
 void *memset(void *dest, int c, size_t n);
 
+#ifdef __arm__
+
 void __aeabi_memset(void *dest, size_t n, int c)
 {
   __memset(dest, c, n);