Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 420609
Collapse All | Expand All

(-)a/libpcc/bitcnt.c (+20 lines)
Lines 1-9 Link Here
1
// Only use __has_builtin in compilers that support it.
2
#ifndef __has_builtin
3
	#define __has_builtin(x) 0
4
#endif
1
5
6
#if !__has_builtin(__builtin_clz)
2
int __builtin_clz(unsigned int);
7
int __builtin_clz(unsigned int);
8
#endif
9
#if !__has_builtin(__builtin_ctz)
3
int __builtin_ctz(unsigned int);
10
int __builtin_ctz(unsigned int);
11
#endif
12
#if !__has_builtin(__builtin_clzl)
4
int __builtin_clzl(unsigned long);
13
int __builtin_clzl(unsigned long);
14
#endif
15
#if !__has_builtin(__builtin_ctzl)
5
int __builtin_ctzl(unsigned long);
16
int __builtin_ctzl(unsigned long);
17
#endif
6
18
19
#if !__has_builtin(__builtin_clz)
7
int
20
int
8
__builtin_clz(unsigned int v)
21
__builtin_clz(unsigned int v)
9
{
22
{
Lines 14-20 __builtin_clz(unsigned int v) Link Here
14
			break;
27
			break;
15
	return i;
28
	return i;
16
}
29
}
30
#endif
17
31
32
#if !__has_builtin(__builtin_ctz)
18
int
33
int
19
__builtin_ctz(unsigned int v)
34
__builtin_ctz(unsigned int v)
20
{
35
{
Lines 25-31 __builtin_ctz(unsigned int v) Link Here
25
			break;
40
			break;
26
	return i;
41
	return i;
27
}
42
}
43
#endif
28
44
45
#if !__has_builtin(__builtin_clzl)
29
int
46
int
30
__builtin_clzl(unsigned long v)
47
__builtin_clzl(unsigned long v)
31
{
48
{
Lines 37-43 __builtin_clzl(unsigned long v) Link Here
37
			break;
54
			break;
38
	return i;
55
	return i;
39
}
56
}
57
#endif
40
58
59
#if !__has_builtin(__builtin_ctzl)
41
int
60
int
42
__builtin_ctzl(unsigned long v)
61
__builtin_ctzl(unsigned long v)
43
{
62
{
Lines 48-50 __builtin_ctzl(unsigned long v) Link Here
48
			break;
67
			break;
49
	return i;
68
	return i;
50
}
69
}
70
#endif

Return to bug 420609