Various minor fixes for compiler/linter (other then splint itself) warnings.
[splint-patched.git] / test / ullint.c
blob4279c3228af8bbf9c9968850b1553f31e99e3098
1 /*
2 ** This test provided by Jim Zelenka
3 */
5 typedef unsigned long pan_uint32_t;
6 typedef long long pan_int64_t;
7 typedef unsigned long long pan_uint64_t;
9 struct t_s {
10 pan_uint32_t w;
11 pan_uint32_t x;
14 int
15 main (/*@unused@*/ int argc,
16 /*@unused@*/ char **argv)
18 unsigned char c, *src, _src[6];
19 pan_uint32_t d, ui32;
20 pan_uint64_t e;
21 struct t_s st2;
22 int i;
24 c = 0x01; /* Error without +charintliteral or +charint */
26 st2.w = 1;
27 st2.x = 2;
29 for(i=0;i<sizeof(src);i++) { /* Error for i < sizeof */
30 _src[i] = (unsigned char)i;
33 src = _src;
35 ui32 = (pan_uint32_t)((src[0] ^ 0xFC) << 30) | ((src[1] ^ 0x80) << 24) | ((src[2] ^ 0x80) << 18) | ((src[3] ^ 0x80) << 12) | ((src[4] ^ 0x80) << 6) | (src[5] ^ 0x80);
37 d = c;
39 e = st2.w + (st2.x * 1000000000);
41 exit(0);