Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #101152

Re: lvalues from the ternary op

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: lvalues from the ternary op
Date 2017-01-04 18:31 -0800
Organization None to speak of
Message-ID <ln60lus0e9.fsf@kst-u.example.com> (permalink)
References (6 earlier) <lntw9esdh5.fsf@kst-u.example.com> <c2974852-3a7b-4028-b25d-dd6293c03dba@googlegroups.com> <lneg0is96d.fsf@kst-u.example.com> <b18c7c2d-3a8b-4985-a81b-28e0b73acc7e@googlegroups.com> <C++-20170105020517@ram.dialup.fu-berlin.de>

Show all headers | View raw


ram@zedat.fu-berlin.de (Stefan Ram) writes:
> supercat@casperkitty.com writes:
>>Under the existing rules, it wouldn't be an lvalue, but that the whole
>>point of this discussion is how things might behave if the language were
>>changed to allow for ternary expressions to yield lvalues.
>
>   In C++, it is an lvalue. So you just might check out C++.

The point is that whether it's an lvalue only if the second and third
operands are lvalues *and* have the same type (not just compatible
types).

C++11 5.16 [expr.cond] paragraphs 4 and 5:

    If the second and third operands are glvalues of the same value
    category and have the same type, the result is of that type
    and value category and it is a bit-field if the second or the
    third operand is a bit-field, or if both are bit-fields.

    Otherwise, the result is a prvalue.

I think this could be adapted for C with a few tweaks:

    "glvalues" --> "lvalues"
    "value category" can probably be dropped
    "the result is a prvalue" --> "the expression is not an lvalue"

(Allowing a conditional expression to be an value if the second and
third operands are not of exactly the same type is not, in my opinion,
worth the effort.)

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: lvalues from the ternary op Manfred <noname@invalid.add> - 2017-01-04 19:46 +0100
  Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-04 11:08 -0800
  Re: lvalues from the ternary op Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-04 21:10 +0000
    Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-04 13:48 -0800
      Re: lvalues from the ternary op Ian Collins <ian-news@hotmail.com> - 2017-01-05 11:07 +1300
        Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-04 14:20 -0800
      Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-04 14:41 -0800
        Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-04 15:21 -0800
          Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-04 15:52 -0800
            Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-04 16:37 -0800
            Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-04 18:31 -0800
              Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-13 17:26 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-13 17:49 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-15 22:53 -0800
    Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-13 17:08 -0800
      Re: lvalues from the ternary op Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-14 02:15 +0000
        Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-15 22:51 -0800
      Re: lvalues from the ternary op luser droog <luser.droog@gmail.com> - 2017-01-16 23:09 -0800
        Re: lvalues from the ternary op Manfred <noname@invalid.add> - 2017-01-18 14:51 +0100
          Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-18 09:59 -0800
            Re: lvalues from the ternary op Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-01-18 13:12 -0500
            Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-18 12:11 -0800
              Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-18 12:45 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-18 14:07 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-18 14:40 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-18 16:10 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-18 18:08 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-19 06:44 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-19 08:40 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-19 12:32 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-20 06:01 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-20 08:15 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-20 10:51 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-20 11:32 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-20 13:41 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-23 07:04 -0800
                Re: lvalues from the ternary op Ike Naar <ike@iceland.freeshell.org> - 2017-01-23 17:59 +0000
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-23 10:57 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-31 08:45 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-01-31 09:13 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-31 10:17 -0800
                Re: lvalues from the ternary op Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-01 01:51 +0000
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-01 14:24 -0800
                Re: lvalues from the ternary op Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-02 03:07 +0000
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-04 04:43 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-04 08:01 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-09 09:06 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-09 11:56 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-12 10:29 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-12 13:43 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-19 21:44 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-20 08:15 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-24 07:58 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-24 10:00 -0800
                Re: lvalues from the ternary op scott@slp53.sl.home (Scott Lurndal) - 2017-02-24 18:58 +0000
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-24 13:03 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-02-24 14:11 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-02-24 12:42 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-02-24 13:49 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-24 13:58 -0800
                Re: lvalues from the ternary op Keith Thompson <kst-u@mib.org> - 2017-02-24 14:56 -0800
                Re: lvalues from the ternary op supercat <flatfinger@casperkitty.com> - 2017-02-25 14:00 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-25 09:23 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-25 09:43 -0800
                Re: lvalues from the ternary op Kelsey Bjarnason <kbjarnason@gmail.com> - 2017-02-01 22:47 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-02 10:12 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-04 07:51 -0800
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-02-04 08:18 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-09 08:58 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-04 04:00 -0800
                Re: lvalues from the ternary op Kelsey Bjarnason <kbjarnason@gmail.com> - 2017-02-04 09:35 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-04 09:35 -0800
                Re: lvalues from the ternary op Robert Wessel <robertwessel2@yahoo.com> - 2017-01-31 13:36 -0600
                Re: lvalues from the ternary op supercat@casperkitty.com - 2017-01-31 12:23 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-02-01 13:48 -0800
                Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-31 08:53 -0800
            Re: lvalues from the ternary op Manfred <noname@invalid.add> - 2017-01-19 14:10 +0100
        Re: lvalues from the ternary op Tim Rentsch <txr@alumni.caltech.edu> - 2017-01-30 12:05 -0800

csiph-web