There's a chapter in the C user's guide about porting programs from 32-bits to 64-bits. It mentions a lint flag
-errchk=longptr64 flag checks assignments of pointer expressions and long integer expressions to plain integers, even when explicit casts are used. http://docs.sun.com/app/docs/doc/819-5265/bjami?a=view --chris Roland Mainz wrote: > Hi! > > ---- > > Does Sun Studio 12 have a warning for statements like... > -- snip -- > int pd; > char *ptr1, > *ptr2; > /* ... */ > pd = ptr2-ptr1; > -- snip -- > ... on 64bit targets ? > > I've spend today some hours to dig-out this kind of bug where a pointer > difference (32bit on 32bit SPARC and 64bit on 64bit SPARC, e.g. a > |ptrdiff_t|) is stored in an |int| (32bit integer) the loss of bits > trigged a malfunction... > ... somehow I was wondering why Sun Studio didn't warn about this. > > ---- > > Bye, > Roland >