This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2] all: #define wordsize-related macros everywhere
- From: Yury Norov <ynorov at caviumnetworks dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: <libc-alpha at sourceware dot org>, <joseph at codesourcery dot com>, <arnd at arndb dot de>, <catalin dot marinas at arm dot com>, <davem at davemloft dot net>, <szabolcs dot nagy at arm dot com>, <maxim dot kuvyrkov at linaro dot org>, <pinskia at gmail dot com>, <bamvor dot zhangjian at huawei dot com>, <fweimer at redhat dot com>, <Prasun dot Kapoor at cavium dot com>, <adhemerval dot zanella at linaro dot org>, Andrew Pinski <apinski at cavium dot com>
- Date: Mon, 11 Jul 2016 18:23:32 +0300
- Subject: Re: [PATCH v2] all: #define wordsize-related macros everywhere
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Yuri dot Norov at caviumnetworks dot com;
- References: <1467979752-14761-1-git-send-email-ynorov@caviumnetworks.com> <mvmmvlofy4l.fsf@hawking.suse.de>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Mon, Jul 11, 2016 at 09:10:50AM +0200, Andreas Schwab wrote:
> Yury Norov <ynorov@caviumnetworks.com> writes:
>
> > +#ifdef __LP64__
> > +# define __WORDSIZE 64
> > +# define __WORDSIZE32_SIZE_ULONG 0
> > +# define __WORDSIZE32_PTRDIFF_LONG 0
> > +#else
> > +# define __WORDSIZE 32
> > +# define __WORDSIZE32_SIZE_ULONG 1
> > +# define __WORDSIZE32_PTRDIFF_LONG 1
> > +#endif
>
> Given that __WORDSIZE32_* are meaningless with __WORDSIZE == 64 and
> should not be used in that case at all they should not be defined then
> in the first place.
>
> Andreas.
>
> --
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."
Yes they are meaningless. But that's what Joseph wants: don't use
#ifdef, but just #if instead. If so, to be consistent we should define
it even if it is useless. We cannot predict how they will be used in
future, and if not defined they may cause build fail. Or I missed something?
Yury.