浏览代码

Fix __weak_reference for clang [closes #9]

Keno Fischer 12 年之前
父节点
当前提交
4b078ee343
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      include/cdefs-compat.h

+ 9 - 3
include/cdefs-compat.h

@@ -50,9 +50,15 @@
 	__asm__(".previous")
 #endif	/* __STDC__ */
 #elif defined(__clang__) /* CLANG */
-#define __weak_reference(sym,alias)    \
-       __asm__(".weak_reference alias");\
-       __asm__(".set alias, sym")
+#ifdef __STDC__
+#define __weak_reference(sym,alias)     \
+    __asm__(".weak_reference " #alias); \
+    __asm__(".set " #alias ", " #sym)
+#else
+#define __weak_reference(sym,alias)     \
+    __asm__(".weak_reference alias");\
+    __asm__(".set alias, sym")
+#endif
 #else	/* !__ELF__ */
 #ifdef __STDC__
 #define __weak_reference(sym,alias)	\