modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/990326-1.c (about) 1 struct a { 2 char a, b; 3 short c; 4 }; 5 6 int 7 a1() 8 { 9 static struct a x = { 1, 2, ~1 }, y = { 65, 2, ~2 }; 10 11 return (x.a == (y.a & ~64) && x.b == y.b); 12 } 13 14 int 15 a2() 16 { 17 static struct a x = { 1, 66, ~1 }, y = { 1, 2, ~2 }; 18 19 return (x.a == y.a && (x.b & ~64) == y.b); 20 } 21 22 int 23 a3() 24 { 25 static struct a x = { 9, 66, ~1 }, y = { 33, 18, ~2 }; 26 27 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 28 } 29 30 struct b { 31 int c; 32 short b, a; 33 }; 34 35 int 36 b1() 37 { 38 static struct b x = { ~1, 2, 1 }, y = { ~2, 2, 65 }; 39 40 return (x.a == (y.a & ~64) && x.b == y.b); 41 } 42 43 int 44 b2() 45 { 46 static struct b x = { ~1, 66, 1 }, y = { ~2, 2, 1 }; 47 48 return (x.a == y.a && (x.b & ~64) == y.b); 49 } 50 51 int 52 b3() 53 { 54 static struct b x = { ~1, 66, 9 }, y = { ~2, 18, 33 }; 55 56 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 57 } 58 59 struct c { 60 unsigned int c:4, b:14, a:14; 61 } __attribute__ ((aligned)); 62 63 int 64 c1() 65 { 66 static struct c x = { ~1, 2, 1 }, y = { ~2, 2, 65 }; 67 68 return (x.a == (y.a & ~64) && x.b == y.b); 69 } 70 71 int 72 c2() 73 { 74 static struct c x = { ~1, 66, 1 }, y = { ~2, 2, 1 }; 75 76 return (x.a == y.a && (x.b & ~64) == y.b); 77 } 78 79 int 80 c3() 81 { 82 static struct c x = { ~1, 66, 9 }, y = { ~2, 18, 33 }; 83 84 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 85 } 86 87 struct d { 88 unsigned int a:14, b:14, c:4; 89 } __attribute__ ((aligned)); 90 91 int 92 d1() 93 { 94 static struct d x = { 1, 2, ~1 }, y = { 65, 2, ~2 }; 95 96 return (x.a == (y.a & ~64) && x.b == y.b); 97 } 98 99 int 100 d2() 101 { 102 static struct d x = { 1, 66, ~1 }, y = { 1, 2, ~2 }; 103 104 return (x.a == y.a && (x.b & ~64) == y.b); 105 } 106 107 int 108 d3() 109 { 110 static struct d x = { 9, 66, ~1 }, y = { 33, 18, ~2 }; 111 112 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 113 } 114 115 struct e { 116 int c:4, b:14, a:14; 117 } __attribute__ ((aligned)); 118 119 int 120 e1() 121 { 122 static struct e x = { ~1, -2, -65 }, y = { ~2, -2, -1 }; 123 124 return (x.a == (y.a & ~64) && x.b == y.b); 125 } 126 127 int 128 e2() 129 { 130 static struct e x = { ~1, -2, -1 }, y = { ~2, -66, -1 }; 131 132 return (x.a == y.a && (x.b & ~64) == y.b); 133 } 134 135 int 136 e3() 137 { 138 static struct e x = { ~1, -18, -33 }, y = { ~2, -66, -9 }; 139 140 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 141 } 142 143 int 144 e4() 145 { 146 static struct e x = { -1, -1, 0 }; 147 148 return x.a == 0 && x.b & 0x2000; 149 } 150 151 struct f { 152 int a:14, b:14, c:4; 153 } __attribute__ ((aligned)); 154 155 int 156 f1() 157 { 158 static struct f x = { -65, -2, ~1 }, y = { -1, -2, ~2 }; 159 160 return (x.a == (y.a & ~64) && x.b == y.b); 161 } 162 163 int 164 f2() 165 { 166 static struct f x = { -1, -2, ~1 }, y = { -1, -66, ~2 }; 167 168 return (x.a == y.a && (x.b & ~64) == y.b); 169 } 170 171 int 172 f3() 173 { 174 static struct f x = { -33, -18, ~1 }, y = { -9, -66, ~2 }; 175 176 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 177 } 178 179 int 180 f4() 181 { 182 static struct f x = { 0, -1, -1 }; 183 184 return x.a == 0 && x.b & 0x2000; 185 } 186 187 struct gx { 188 int c:4, b:14, a:14; 189 } __attribute__ ((aligned)); 190 struct gy { 191 int b:14, a:14, c:4; 192 } __attribute__ ((aligned)); 193 194 int 195 g1() 196 { 197 static struct gx x = { ~1, -2, -65 }; 198 static struct gy y = { -2, -1, ~2 }; 199 200 return (x.a == (y.a & ~64) && x.b == y.b); 201 } 202 203 int 204 g2() 205 { 206 static struct gx x = { ~1, -2, -1 }; 207 static struct gy y = { -66, -1, ~2 }; 208 209 return (x.a == y.a && (x.b & ~64) == y.b); 210 } 211 212 int 213 g3() 214 { 215 static struct gx x = { ~1, -18, -33 }; 216 static struct gy y = { -66, -9, ~2 }; 217 218 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 219 } 220 221 int 222 g4() 223 { 224 static struct gx x = { ~1, 0x0020, 0x0010 }; 225 static struct gy y = { 0x0200, 0x0100, ~2 }; 226 227 return ((x.a & 0x00f0) == (y.a & 0x0f00) && 228 (x.b & 0x00f0) == (y.b & 0x0f00)); 229 } 230 231 int 232 g5() 233 { 234 static struct gx x = { ~1, 0x0200, 0x0100 }; 235 static struct gy y = { 0x0020, 0x0010, ~2 }; 236 237 return ((x.a & 0x0f00) == (y.a & 0x00f0) && 238 (x.b & 0x0f00) == (y.b & 0x00f0)); 239 } 240 241 int 242 g6() 243 { 244 static struct gx x = { ~1, 0xfe20, 0xfd10 }; 245 static struct gy y = { 0xc22f, 0xc11f, ~2 }; 246 247 return ((x.a & 0x03ff) == (y.a & 0x3ff0) && 248 (x.b & 0x03ff) == (y.b & 0x3ff0)); 249 } 250 251 int 252 g7() 253 { 254 static struct gx x = { ~1, 0xc22f, 0xc11f }; 255 static struct gy y = { 0xfe20, 0xfd10, ~2 }; 256 257 return ((x.a & 0x3ff0) == (y.a & 0x03ff) && 258 (x.b & 0x3ff0) == (y.b & 0x03ff)); 259 } 260 261 struct hx { 262 int a:14, b:14, c:4; 263 } __attribute__ ((aligned)); 264 struct hy { 265 int c:4, a:14, b:14; 266 } __attribute__ ((aligned)); 267 268 int 269 h1() 270 { 271 static struct hx x = { -65, -2, ~1 }; 272 static struct hy y = { ~2, -1, -2 }; 273 274 return (x.a == (y.a & ~64) && x.b == y.b); 275 } 276 277 int 278 h2() 279 { 280 static struct hx x = { -1, -2, ~1 }; 281 static struct hy y = { ~2, -1, -66 }; 282 283 return (x.a == y.a && (x.b & ~64) == y.b); 284 } 285 286 int 287 h3() 288 { 289 static struct hx x = { -33, -18, ~1 }; 290 static struct hy y = { ~2, -9, -66 }; 291 292 return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16)); 293 } 294 295 int 296 h4() 297 { 298 static struct hx x = { 0x0010, 0x0020, ~1 }; 299 static struct hy y = { ~2, 0x0100, 0x0200 }; 300 301 return ((x.a & 0x00f0) == (y.a & 0x0f00) && 302 (x.b & 0x00f0) == (y.b & 0x0f00)); 303 } 304 305 int 306 h5() 307 { 308 static struct hx x = { 0x0100, 0x0200, ~1 }; 309 static struct hy y = { ~2, 0x0010, 0x0020 }; 310 311 return ((x.a & 0x0f00) == (y.a & 0x00f0) && 312 (x.b & 0x0f00) == (y.b & 0x00f0)); 313 } 314 315 int 316 h6() 317 { 318 static struct hx x = { 0xfd10, 0xfe20, ~1 }; 319 static struct hy y = { ~2, 0xc11f, 0xc22f }; 320 321 return ((x.a & 0x03ff) == (y.a & 0x3ff0) && 322 (x.b & 0x03ff) == (y.b & 0x3ff0)); 323 } 324 325 int 326 h7() 327 { 328 static struct hx x = { 0xc11f, 0xc22f, ~1 }; 329 static struct hy y = { ~2, 0xfd10, 0xfe20 }; 330 331 return ((x.a & 0x3ff0) == (y.a & 0x03ff) && 332 (x.b & 0x3ff0) == (y.b & 0x03ff)); 333 } 334 335 int 336 main() 337 { 338 if (!a1 ()) 339 abort (); 340 if (!a2 ()) 341 abort (); 342 if (!a3 ()) 343 abort (); 344 if (!b1 ()) 345 abort (); 346 if (!b2 ()) 347 abort (); 348 if (!b3 ()) 349 abort (); 350 if (!c1 ()) 351 abort (); 352 if (!c2 ()) 353 abort (); 354 if (!c3 ()) 355 abort (); 356 if (!d1 ()) 357 abort (); 358 if (!d2 ()) 359 abort (); 360 if (!d3 ()) 361 abort (); 362 if (!e1 ()) 363 abort (); 364 if (!e2 ()) 365 abort (); 366 if (!e3 ()) 367 abort (); 368 if (!e4 ()) 369 abort (); 370 if (!f1 ()) 371 abort (); 372 if (!f2 ()) 373 abort (); 374 if (!f3 ()) 375 abort (); 376 if (!f4 ()) 377 abort (); 378 if (!g1 ()) 379 abort (); 380 if (!g2 ()) 381 abort (); 382 if (!g3 ()) 383 abort (); 384 if (g4 ()) 385 abort (); 386 if (g5 ()) 387 abort (); 388 if (!g6 ()) 389 abort (); 390 if (!g7 ()) 391 abort (); 392 if (!h1 ()) 393 abort (); 394 if (!h2 ()) 395 abort (); 396 if (!h3 ()) 397 abort (); 398 if (h4 ()) 399 abort (); 400 if (h5 ()) 401 abort (); 402 if (!h6 ()) 403 abort (); 404 if (!h7 ()) 405 abort (); 406 exit (0); 407 }