Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 21 Aug 2015 16:09:49 -0500
From: "jfoug@....net" <jfoug@....net>
To: john-dev@...ts.openwall.com
Subject: Re: Question about type ARCH_WORD_32/64

On Fri, 21 Aug 2015 05:16:41 -0500, Lei Zhang <zhanglei.april@...il.com>  
wrote:

> Hi,
>
> I just got a "incompatible pointer type" warning when casting a  
> (uint64_t*) pointer to an (ARCH_WORD_64*) pointer on Power. This happens  
> because ARCH_WORD_64 is defined as 'unsigned long long', while uint64_t  
> is define as 'unsigned long' on Power. They're supposed to be the  
> exactly same type on this arch, but somehow gcc disagrees.
>
> OTOH, why invent ARCH_WORD_32/64 when uint32_t/uint64_t is at hand? Is  
> there any portability problem with uint32_t/uint64_t? Or is  
> ARCH_WORD_32/64 some legacy stuff?

ARCH_WORD_[32][64] is pretty much legacy code, that I would love to see go
away, replaced by uint[32][64]_t where we actually 'require' 32 or 64 bit
and simply replaced by int or unsigned where the size of the variable is
not a specific requirement.

But IMHO, this would be a nice code cleanup.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.