aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/linear/call-builtin.c
blob: 43e254f6d3e658dd11e4098bad82ae93b47b6f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
typedef unsigned int u32;

u32 ff(u32 a) { return __builtin_popcount(a); }

u32 f0(u32 a) { return (__builtin_popcount)(a); }
u32 f1(u32 a) { return (*__builtin_popcount)(a); }	// C99,C11 6.5.3.2p4
u32 f2(u32 a) { return (**__builtin_popcount)(a); }	// C99,C11 6.5.3.2p4
u32 f3(u32 a) { return (***__builtin_popcount)(a); }	// C99,C11 6.5.3.2p4

/*
 * check-name: builtin calls
 * check-command: test-linearize -Wno-decl $file
 *
 * check-output-ignore
 * check-output-excludes: load
 * check-output-pattern(5): call\\..*__builtin_.*, %arg1
 */