Root/
1 | #ifndef TYPECHECK_H_INCLUDED |
2 | #define TYPECHECK_H_INCLUDED |
3 | |
4 | /* |
5 | * Check at compile time that something is of a particular type. |
6 | * Always evaluates to 1 so you may use it easily in comparisons. |
7 | */ |
8 | #define typecheck(type,x) \ |
9 | ({ type __dummy; \ |
10 | typeof(x) __dummy2; \ |
11 | (void)(&__dummy == &__dummy2); \ |
12 | 1; \ |
13 | }) |
14 | |
15 | /* |
16 | * Check at compile time that 'function' is a certain type, or is a pointer |
17 | * to that type (needs to use typedef for the function type.) |
18 | */ |
19 | #define typecheck_fn(type,function) \ |
20 | ({ typeof(type) __tmp = function; \ |
21 | (void)__tmp; \ |
22 | }) |
23 | |
24 | #endif /* TYPECHECK_H_INCLUDED */ |
25 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9