Skip to content

Commit d4077aa

Browse files
authored
Suggestions
#197 (review)
1 parent ea065f9 commit d4077aa

8 files changed

Lines changed: 41 additions & 31 deletions

File tree

src/cdefs-compat.h

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,74 +12,84 @@
1212
#endif /* !defined(__BEGIN_DECLS) */
1313

1414
#ifdef __GNUC__
15-
#ifndef __strong_reference
15+
#if defined(__strong_alias) && defined(__NetBSD__)
16+
#define openlibm_strong_reference(sym,alias) __strong_alias(alias,sym)
17+
#elif defined(__strong_reference)
18+
#define openlibm_strong_reference(sym,alias) __strong_reference(sym,alias)
19+
#else
1620
#ifdef __APPLE__
17-
#define __strong_reference(sym,aliassym) __weak_reference_compat(sym,aliassym)
21+
#define openlibm_strong_reference(sym,aliassym) openlibm_weak_reference(sym,aliassym)
1822
#else
19-
#define __strong_reference(sym,aliassym) \
23+
#define openlibm_strong_reference(sym,aliassym) \
2024
OLM_DLLEXPORT extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));
2125
#endif /* __APPLE__ */
2226
#endif /* __strong_reference */
2327

2428
#ifdef __wasm__
25-
# define __weak_reference_compat(sym,alias) __strong_reference(sym,alias)
29+
# define openlibm_weak_reference(sym,alias) openlibm_strong_reference(sym,alias)
2630
#endif
2731

28-
#ifdef __weak_reference
29-
#ifdef __NetBSD__
30-
#define __weak_reference_compat(sym,alias) __weak_alias(alias,sym)
31-
#else
32-
#define __weak_reference_compat(sym,alias) __weak_reference(sym,alias)
33-
#endif
32+
#if defined(__weak_alias) && defined(__NetBSD__)
33+
#define openlibm_weak_reference(sym,alias) __weak_alias(alias,sym)
34+
#elif defined(__weak_reference)
35+
#define openlibm_weak_reference(sym,alias) __weak_reference(sym,alias)
3436
#else
3537
#ifdef __ELF__
3638
#ifdef __STDC__
37-
#define __weak_reference_compat(sym,alias) \
39+
#define openlibm_weak_reference(sym,alias) \
3840
__asm__(".weak " #alias); \
3941
__asm__(".equ " #alias ", " #sym)
40-
#ifndef __warn_references
41-
#define __warn_references(sym,msg) \
42+
#ifdef __warn_references
43+
#define openlibm_warn_references(sym,msg) __warn_references(sym,msg)
44+
#else
45+
#define openlibm_warn_references(sym,msg) \
4246
__asm__(".section .gnu.warning." #sym); \
4347
__asm__(".asciz \"" msg "\""); \
4448
__asm__(".previous")
4549
#endif /* __warn_references */
4650
#else
47-
#define __weak_reference_compat(sym,alias) \
51+
#define openlibm_weak_reference(sym,alias) \
4852
__asm__(".weak alias"); \
4953
__asm__(".equ alias, sym")
50-
#ifndef __warn_references
51-
#define __warn_references(sym,msg) \
54+
#ifdef __warn_references
55+
#define openlibm_warn_references(sym,msg) __warn_references(sym,msg)
56+
#else
57+
#define openlibm_warn_references(sym,msg) \
5258
__asm__(".section .gnu.warning.sym"); \
5359
__asm__(".asciz \"msg\""); \
5460
__asm__(".previous")
5561
#endif /* __warn_references */
5662
#endif /* __STDC__ */
5763
#elif defined(__clang__) /* CLANG */
5864
#ifdef __STDC__
59-
#define __weak_reference_compat(sym,alias) \
65+
#define openlibm_weak_reference(sym,alias) \
6066
__asm__(".weak_reference " #alias); \
6167
__asm__(".set " #alias ", " #sym)
6268
#else
63-
#define __weak_referenc_compate(sym,alias) \
69+
#define openlibm_weak_reference(sym,alias) \
6470
__asm__(".weak_reference alias");\
6571
__asm__(".set alias, sym")
6672
#endif
6773
#else /* !__ELF__ */
6874
#ifdef __STDC__
69-
#define __weak_reference_compat(sym,alias) \
75+
#define openlibm_weak_reference(sym,alias) \
7076
__asm__(".stabs \"_" #alias "\",11,0,0,0"); \
7177
__asm__(".stabs \"_" #sym "\",1,0,0,0")
72-
#ifndef __warn_references
73-
#define __warn_references(sym,msg) \
78+
#ifdef __warn_references
79+
#define openlibm_warn_references(sym,msg) __warn_references(sym,msg)
80+
#else
81+
#define openlibm_warn_references(sym,msg) \
7482
__asm__(".stabs \"" msg "\",30,0,0,0"); \
7583
__asm__(".stabs \"_" #sym "\",1,0,0,0")
7684
#endif /* __warn_references */
7785
#else
78-
#define __weak_reference_compat(sym,alias) \
86+
#define openlibm_weak_reference(sym,alias) \
7987
__asm__(".stabs \"_/**/alias\",11,0,0,0"); \
8088
__asm__(".stabs \"_/**/sym\",1,0,0,0")
81-
#ifndef __warn_references
82-
#define __warn_references(sym,msg) \
89+
#ifdef __warn_references
90+
#define openlibm_warn_references(sym,msg) __warn_references(sym,msg)
91+
#else
92+
#define openlibm_warn_references(sym,msg) \
8393
__asm__(".stabs msg,30,0,0,0"); \
8494
__asm__(".stabs \"_/**/sym\",1,0,0,0")
8595
#endif /* __warn_references */

src/e_acos.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,5 +107,5 @@ __ieee754_acos(double x)
107107
}
108108

109109
#if LDBL_MANT_DIG == 53
110-
__weak_reference_compat(acos, acosl);
110+
openlibm_weak_reference(acos, acosl);
111111
#endif

src/e_asin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,5 @@ __ieee754_asin(double x)
113113
}
114114

115115
#if LDBL_MANT_DIG == 53
116-
__weak_reference_compat(asin, asinl);
116+
openlibm_weak_reference(asin, asinl);
117117
#endif

src/e_atan2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,5 +125,5 @@ __ieee754_atan2(double y, double x)
125125
}
126126

127127
#if LDBL_MANT_DIG == 53
128-
__weak_reference_compat(atan2, atan2l);
128+
openlibm_weak_reference(atan2, atan2l);
129129
#endif

src/e_hypot.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,5 +127,5 @@ __ieee754_hypot(double x, double y)
127127
}
128128

129129
#if LDBL_MANT_DIG == 53
130-
__weak_reference_compat(hypot, hypotl);
130+
openlibm_weak_reference(hypot, hypotl);
131131
#endif

src/e_remainder.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,5 @@ __ieee754_remainder(double x, double p)
7575
}
7676

7777
#if LDBL_MANT_DIG == 53
78-
__weak_reference_compat(remainder, remainderl);
78+
openlibm_weak_reference(remainder, remainderl);
7979
#endif

src/e_sqrt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ __ieee754_sqrt(double x)
189189
}
190190

191191
#if (LDBL_MANT_DIG == 53)
192-
__weak_reference_compat(sqrt, sqrtl);
192+
openlibm_weak_reference(sqrt, sqrtl);
193193
#endif
194194

195195
/*

src/s_atan.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,5 @@ atan(double x)
120120
}
121121

122122
#if LDBL_MANT_DIG == 53
123-
__weak_reference_compat(atan, atanl);
123+
openlibm_weak_reference(atan, atanl);
124124
#endif

0 commit comments

Comments
 (0)