File: select-and-shift.c

package info (click to toggle)
sparse 0.6.4-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,868 kB
  • sloc: ansic: 46,050; sh: 614; python: 301; perl: 293; makefile: 279
file content (17 lines) | stat: -rw-r--r-- 380 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define S1	2
#define S2	5
#define S	(S2 - S1)

#define	A	(1 << S1)
#define	B	(1 << S2)

int foo(int p) { return ((p & A) ? B : 0) == ((((unsigned)p) & A) << S); }
int bar(int p) { return ((p & B) ? A : 0) == ((((unsigned)p) & B) >> S); }

/*
 * check-name: select-and-shift
 * check-command: test-linearize -Wno-decl $file
 *
 * check-output-ignore
 * check-output-returns: 1
 */