public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox