All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH] minios: Fix incorrect {, un}likely() definitions
Date: Mon, 30 Jun 2014 18:00:42 +0200	[thread overview]
Message-ID: <20140630160042.GN5027@type> (raw)
In-Reply-To: <1404143835-2151-1-git-send-email-andrew.cooper3@citrix.com>

Andrew Cooper, le Mon 30 Jun 2014 16:57:15 +0100, a écrit :
> As identified in e5545fb6, likely() and unlikely() must convert their
> expressions to booleans before comparing to 1 or 0, to avoid truncation
> issues.
> 
> While editing this file, add inclusion guards.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> CC: Samuel Thibault <samuel.thibault@ens-lyon.org>

Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
>  extras/mini-os/include/compiler.h |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/extras/mini-os/include/compiler.h b/extras/mini-os/include/compiler.h
> index e35c9d5..4188277 100644
> --- a/extras/mini-os/include/compiler.h
> +++ b/extras/mini-os/include/compiler.h
> @@ -1,5 +1,10 @@
> +#ifndef __MINIOS_COMPILER_H_
> +#define __MINIOS_COMPILER_H_
> +
>  #if __GNUC__ == 2 && __GNUC_MINOR__ < 96
>  #define __builtin_expect(x, expected_value) (x)
>  #endif
> -#define unlikely(x)  __builtin_expect((x),0)
> -#define likely(x)  __builtin_expect((x),1)
> +#define unlikely(x)  __builtin_expect(!!(x),0)
> +#define likely(x)    __builtin_expect(!!(x),1)
> +
> +#endif /* __MINIOS_COMPILER_H_ */
> -- 
> 1.7.10.4
> 

-- 
Samuel
> No manual is ever necessary.
May I politely interject here: BULLSHIT.  That's the biggest Apple lie of all!
(Discussion in comp.os.linux.misc on the intuitiveness of interfaces.)

      reply	other threads:[~2014-06-30 16:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-30 15:57 [PATCH] minios: Fix incorrect {, un}likely() definitions Andrew Cooper
2014-06-30 16:00 ` Samuel Thibault [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140630160042.GN5027@type \
    --to=samuel.thibault@ens-lyon.org \
    --cc=andrew.cooper3@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.