[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Check for the appropriate condition in types.h
From: |
Javier Martín |
Subject: |
Re: [PATCH] Check for the appropriate condition in types.h |
Date: |
Sat, 25 Jul 2009 23:02:07 +0200 |
El jue, 23-07-2009 a las 16:57 -0400, Pavel Roskin escribió:
> On Thu, 2009-07-23 at 22:30 +0200, Vladimir 'phcoder' Serbinenko wrote:
> > >> > [GRUB_CPU_SIZEOF_VOID_P == 8]: Changed to ...
> > >> > [GRUB_CPU_SIZEOF_LONG == 8]: ... this.
> > >> Ok, let's adopt this form instead. The proposed ChangeLog would now be:
> > >
> > > >From the GNU Coding Standards:
> > >
> > > "C programs often contain compile-time `#if' conditionals. Many changes
> > > are conditional; sometimes you add a new definition which is entirely
> > > contained in a conditional. It is very useful to indicate in the
> > > change log the conditions for which the change applies. Our convention
> > > for indicating conditional changes is to use square brackets around the
> > > name of the condition."
> > >
> > > It means that the square brackets are used if the changes only affect
> > > the code under the condition specified in brackets. This is not what is
> > > happening here.
> > >
> > This is exactly what happens here: we change only what happens in
> > conditionals [GRUB_CPU_SIZEOF_VOID_P == 8] and [GRUB_CPU_SIZEOF_LONG
> > == 8]
>
> I'm not interested to discuss the right interpretation of the coding
> standards.
>
> Frankly, I'm not a fan of keeping ChangeLog, as it's too formal and it's
> a point of contention for parallel development. I prefer the Linux
> kernel style of descriptions.
>
> But since we are updating ChangeLog, let's keep it readable.
So, how would this precise change be specified? I don't mean to seem
anxious, but I wouldn't want such a simple patch to be ensnared by what
I personally consider a Byzantine argument. I propose the following
wording, but we need someone more familiar with the FSF "bureaucracy" to
review it: O Robert, we summon Thou ;)
2009-07-26 Javier Martin <address@hidden>
* include/grub/types.h (GRUB_CPU_SIZEOF_VOID_P == 8): Change...
(GRUB_CPU_SIZEOF_LONG == 8) ... into this where appropriate
(UINT_TO_PTR): move outside wordsize conditionals
(PTR_TO_UINT): new macro
>
> > >> (UINT_TO_PTR): move outside wordsize conditionals
> > >> (PTR_TO_UINT): new macro
> > >
> > > We should remove PTR_TO_UINT32 and PTR_TO_UINT64 with PTR_TO_UINT
> > > everywhere. I've checked that it doesn't introduce any warnings on any
> > > platform.
> > >
> > Sometimes PTR_TOUINT32 with precision loss is exactly what the coder
> > wants. A typical example is booting 32-bit OS on 64-bit platform. This
> > is the case of booting linux on efi64. Then the code has to ensure
> > that the target is below 4GiB (see my mm propositions for more on how
> > to ensure it). But I'm ok with requirement of additional explicit cast
> > in such cases as
> > (grub_uint32_t) PTR_TO_UINT (x)
>
> That would be much better that PTR_TO_UINT32, as it makes the cast
> explicit in the code that should ensure that the cast is valid.
>
> We can find such cases by compiling with -Wconversion and finding the
> newly appearing warnings after PTR_TO_UINT32 and PTR_TO_UINT64 are
> replaced with PTR_TO_UINT.
>
I also agree that PTR_TO_UINTnn should not exist: the eventual precision
loss should be shown in the actual source using/abusing it. After this
patch is merged, I could send in another one replacing all occurrences
of those two macros by PTR_TO_UINT with the right casts.
--
-- Lazy, Oblivious, Recurrent Disaster -- Habbit
signature.asc
Description: Esto es una parte de mensaje firmado digitalmente
- [PATCH] Check for the appropriate condition in types.h, Javier Martín, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Pavel Roskin, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Javier Martín, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Vladimir 'phcoder' Serbinenko, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Javier Martín, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Pavel Roskin, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Vladimir 'phcoder' Serbinenko, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h, Pavel Roskin, 2009/07/23
- Re: [PATCH] Check for the appropriate condition in types.h,
Javier Martín <=