On 2001-Jul-05 20:31:43 -0700, Matthew Jacob <[EMAIL PROTECTED]> wrote:
>Perhaps what we really need- and this is really a toolchain issues- is a
>compiler that is just as stringent on i386 as on alpha?

IMHO, the compiler _is_ just as stringent on i386 as Alpha (it's the
same compiler).  IMHO, the problem splits into two categories:
Firstly, sizeof(long) (and sizeof(void *)) differ between the Alpha
and the i386.  Secondly, there are cases where different architectures
map foo_t onto different primitive types.  Both these problems are
very difficult to solve using a lint-like tool running on only one
architecture.

As examples of the latter, a quick diff of
/sys/{i386,alpha}/include/{ansi,types}.h reveals the following:
                  i386 type     Alpha type
clock_t         unsigned long   int
ptrdiff_t       int             long
size_t          unsigned int    unsigned long
ssize_t         int             long
off_t           __int64_t       long
*physaddr       { int r[1]; }   { long r[1]; }
label_t         { int [6]; }    { long [10]; }
vm_offset_t     unsigned int    unsigned long
vm_ooffset_t    __int64_t       long
vm_pindex_t     unsigned int    unsigned long
vm_size_t       unsigned int    unsigned long
register_t      __int32_t       __int64_t
u_register_t    __uint32_t      __uint64_t
intfptr_t       int             long
uintfptr_t      unsigned int    unsigned long

Peter

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to