All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Bridgwater <bennyb@ntplx.net>
To: lkml <linux-kernel@vger.kernel.org>
Subject: Re: RFC: booleans and the kernel
Date: Sat, 26 Jan 2002 10:48:51 -0500	[thread overview]
Message-ID: <3C52CFE3.2080107@ntplx.net> (raw)

Rick Stevens wrote:

 > Granted.  "if (x)" is true if "x" is non-zero, regardless of type and
 > shoudn't even generate a warning if "x" is scalar.

Surely the major point of using the compiler's _Bool would be for type 
safety -  if you only want readability then you may as well just use:

enum bool {true = 1, false = 0};

Now since C has historically utilized integer expressions for 
conditionals (with 0, !0 truth semantics), so it would be obnoxious to 
*unconditionally* make if (x) where x is non _Bool generate warnings, 
but IMO the whole point of using _Bool would be to then choose to turn 
on warnings for non _Bool conditionals, and to suppress warnings one 
would then need to be explicit about intentions by writing code such as:

if ((_Bool) (x = y)) ;

and hopefully if one accidently wrote:

if ((_Bool) x = y) ; /* int x, y */

then the compiler would warn that you probably didn't really mean that, 
since it means:

if ((_Bool) (x = (int) (_Bool) y)) ;

Which would have converted your y to _Bool (0/1) before assigning it to x.

Ben

P.S. I'm not on the list - please CC any response to me if you want a reply.


             reply	other threads:[~2002-01-26 15:56 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-26 15:48 Ben Bridgwater [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-01-25 11:28 RFC: booleans and the kernel Thomas Hood
2002-01-25 11:39 ` Xavier Bestel
2002-01-25 11:09 Helge Hafting
2002-01-26  3:08 ` Jamie Lokier
2002-01-26  9:13   ` Mark Zealey
2002-01-27 19:58     ` Jamie Lokier
2002-01-26 10:51   ` Gábor Lénárt
2002-01-26 16:27     ` Jamie Lokier
2002-01-24 17:42 Jeff Garzik
2002-01-24 18:22 ` Anton Altaparmakov
2002-01-24 18:33   ` Arnaldo Carvalho de Melo
2002-01-24 19:28 ` H. Peter Anvin
2002-01-24 19:34   ` Arnaldo Carvalho de Melo
2002-01-24 19:43     ` H. Peter Anvin
2002-01-24 19:47       ` Arnaldo Carvalho de Melo
2002-01-24 19:46     ` Ingo Oeser
2002-01-24 19:52 ` Oliver Xymoron
2002-01-24 20:03   ` Jeff Garzik
2002-01-24 20:06     ` Oliver Xymoron
2002-01-24 20:14       ` Jeff Garzik
2002-01-24 20:23       ` Alexander Viro
2002-01-24 20:25         ` Oliver Xymoron
2002-01-24 20:35           ` John Levon
2002-01-24 20:15     ` Alexander Viro
2002-01-24 20:21   ` Richard B. Johnson
2002-01-24 20:39     ` Oliver Xymoron
2002-01-24 21:55       ` Richard B. Johnson
2002-01-24 21:57         ` Jeff Garzik
2002-01-24 22:05         ` H. Peter Anvin
2002-01-24 22:13         ` Robert Love
2002-01-25 21:24       ` Timothy Covell
2002-01-24 21:31         ` Oliver Xymoron
2002-01-25 21:43           ` Timothy Covell
2002-01-24 21:50             ` Oliver Xymoron
2002-01-24 22:21               ` H. Peter Anvin
2002-01-25 15:07                 ` Werner Almesberger
2002-01-25 15:21                   ` Jakub Jelinek
2002-01-25 16:45                   ` H. Peter Anvin
2002-01-24 22:19             ` Robert Love
2002-01-25 22:30               ` Timothy Covell
2002-01-24 22:36                 ` Alexander Viro
2002-01-24 22:38                 ` Robert Love
2002-01-25 22:44                   ` Timothy Covell
2002-01-25  3:52                     ` Ragnar Hojland Espinosa
2002-01-25 20:39                       ` Calin A. Culianu
2002-01-25 23:07                       ` Rick Stevens
2002-01-25  6:36                     ` Kai Henningsen
     [not found]                       ` <200201250900.g0P8xoL10082@home.ashavan.org.>
2002-01-25 19:02                         ` Kai Henningsen
2002-01-27  1:33                           ` Timothy Covell
2002-01-26  2:56                             ` Jamie Lokier
2002-01-27 11:18                               ` Kai Henningsen
2002-01-29  6:36                           ` Nix N. Nix
2002-01-24 22:33         ` Xavier Bestel
2002-01-25 22:47           ` Timothy Covell
2002-01-24 22:53             ` Xavier Bestel
2002-01-24 22:59             ` Robert Love
2002-01-25 23:09               ` Timothy Covell
2002-01-24 23:27                 ` Xavier Bestel
2002-01-25  6:13                   ` Alexander Viro
2002-01-25  8:00                     ` Momchil Velikov
2002-01-25 10:51                       ` Xavier Bestel
2002-01-25 16:11                     ` Olivier Galibert
2002-01-26  7:22                     ` Timothy Covell
2002-01-25  7:48                       ` Alexander Viro
2002-01-25 23:49                         ` J.A. Magallon
2002-01-27 11:27                           ` Kai Henningsen
2002-01-25  1:16                 ` John Levon
2002-01-25 11:07         ` Helge Hafting
2002-01-24 22:33 ` Chris Wedgwood
2002-01-24 22:44   ` H. Peter Anvin
2002-01-26 10:22     ` Chris Wedgwood
2002-01-25  2:00 ` Erik Andersen

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=3C52CFE3.2080107@ntplx.net \
    --to=bennyb@ntplx.net \
    --cc=linux-kernel@vger.kernel.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.