// au-llp64.lnt -- Author options - 64-bit issues for the LLP64 model // The LLP64 model utilizes the following sizes: // long long -> 64 bits // pointers -> 64 bits // long -> 32 bits // int -> 32 bits /* This options file can be used to explicitly activate checks for 64-bit related issues. You can use this file directly when linting your programs as in: lin au-llp64 files */ -sll8 -sp8 -sl4 -si4 /* In the 64-bit models, ptrdiff_t is 64 bits, signed. */ +fdl // pointer differences ++fdl // are long long /* In the 64-bit models, size_t is 64 bits, unsigned. */ +fzu // sizeof returns +fzl // an unsigned ++fzl // long long /* Casting a 64-bit address to or from a 32-bit integer type can result in lost information or an invalid pointer value, depending on the system. i32 = (long) p64; // cast from pointer to long (N 923) p64 = (long *) i32; // cast from long to pointer (N 923) */ +estring(923,long) +estring(923,signed long) +estring(923,unsigned long) au-64.lnt