
#define SOME_VAL1    ((MYINT) -1)
#define SOME_VAL2    (-2)
#define SOME_VAL3    -3
#define MULT(X, Y)    (X) *(Y)
#define SOME_JUNK    /*lint -e123 */ (const mytype *) -1

typedef (*my_fcn_ptr_t)(char *, int);
typedef (my_fcn_t)(char *, int);

void foo(void)
{
   uint crc = crc32_calc_full((const UINT8 *) "String", 6);

   crc = crc32_calc_full((const UINT8 *) &crc, sizeof(crc));

   a = (b) - 4;

   a = (UINT) -4;
   a = (UINT) +4;
   a = (UINT) * 4;
   a = (UINT) & 4;

   a = (uint32_t) -pb;
   a = (uint32_t) + pb;
   a = (uint32_t) *pb;
   a = (uint32_t) &pb;

   a = (Uint) - 4;
   a = (Uint) + 4;
   a = (Uint) * 4;
   a = (Uint) & 4;

   a = b * (int) flt;
   a = b * ((int) flt);

   a = b * (int) flt;
   a = b * (INT8) flt;
   a = b * (Uint) flt;

   a = *(int) &b;
   a = *(CHAR) &b;
   a = *(Uint) & b;

   a = (int) *pb;
   a = (CHAR) *pb;
   a = (Uint) * pb;

   a = (int) 'a';
   a = (UINT8) 'a';
   a = (Uint) 'a';

   a = (int) *'a';
   a = (UINT8) * 'a';
   a = (Uint) * 'a';

   a = (int) *5;
   a = (UINT) * 5;
   a = (Uint) * 5;

   a = (int) *ape;
   a = (UINT) *ape;
   a = (Uint) * ape;

   a = (int) ape;
   a = (UINT) ape;
   a = (Uint) ape;

   a = (int) sizeof(x);
   a = (INT16) sizeof(x);
   a = (Uint) sizeof(x);

   a = (int) foo(x);
   a = (CHAR) foo(x);
   a = (Uint) foo(x);

   a = (int) (x);
   a = (CHAR) (x);
   a = (Uint) (x);

   a = (int) *(x);
   a = (CHAR) *(x);
   a = (Uint) * (x);

   a = (unsigned int) (1 + 4);
   a = (int) (1 + 1);
   a = (void *) (&str);
}

