rdar-6442306-1.m revision c037eac3bda3c636c961aab6377beea3242e81e4
1// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic -verify && 2// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=basic-old-cast -verify && 3// RUN: clang-cc -analyze -checker-cfref %s --analyzer-store=region -verify 4 5typedef int bar_return_t; 6typedef struct { 7 unsigned char int_rep; 8} Foo_record_t; 9extern Foo_record_t Foo_record; 10struct QuxSize {}; 11typedef struct QuxSize QuxSize; 12typedef struct { 13 Foo_record_t Foo; 14 QuxSize size; 15} __Request__SetPortalSize_t; 16 17static __inline__ bar_return_t 18__Beeble_check__Request__SetPortalSize_t(__attribute__((__unused__)) __Request__SetPortalSize_t *In0P) { 19 if (In0P->Foo.int_rep != Foo_record.int_rep) { 20 do { 21 int __i__, __C__ = (2); 22 for (__i__ = 0; 23 __i__ < __C__; 24 __i__++) do { 25 *(&((double *)(&In0P->size))[__i__]) = 26 __Foo_READSWAP__double(&((double *)(&In0P->size))[__i__]); 27 } 28 while (0); 29 } 30 while (0); 31 } 32} 33