lkml.org 
[lkml]   [2001]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: page_launder() bug
    Date
    On Monday 07 May 2001 08:26, Tobias Ringstrom wrote:
    > On Sun, 6 May 2001, David S. Miller wrote:
    > > It is the most straightforward way to make a '1' or '0'
    > > integer from the NULL state of a pointer.
    >
    > But is it really specified in the C "standards" to be exctly zero or
    > one, and not zero and non-zero?

    Yes, and if we did not have this stupid situation where the C language
    standard is not freely available online then you would not have had to
    ask.</rant>

    > IMHO, the ?: construct is way more readable and reliable.

    There is no difference in reliability. Readability is a matter of
    opinion - my opinion is that they are equally readable. To its credit,
    gcc produces the same ia32 code in either case:

    int foo = 999;
    return 1 + !!foo;

    <main+6>: movl $0x3e7,0xfffffffc(%ebp)
    <main+13>: cmpl $0x0,0xfffffffc(%ebp)
    <main+17>: je 0x80483e0 <main+32>
    <main+19>: mov $0x2,%eax
    <main+24>: jmp 0x80483e5 <main+37>
    <main+26>: lea 0x0(%esi),%esi
    <main+32>: mov $0x1,%eax
    <main+37>: mov %eax,%eax

    int foo = 999;
    return foo? 2: 1;

    <main+6>: movl $0x3e7,0xfffffffc(%ebp)
    <main+13>: cmpl $0x0,0xfffffffc(%ebp)
    <main+17>: je 0x80483e0 <main+32>
    <main+19>: mov $0x2,%eax
    <main+24>: jmp 0x80483e5 <main+37>
    <main+26>: lea 0x0(%esi),%esi
    <main+32>: mov $0x1,%eax
    <main+37>: mov %eax,%eax

    --
    Daniel
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 12:52    [W:0.021 / U:0.768 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site