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


Groups > comp.lang.c > #129859

Re: gcc_centric C code

Newsgroups comp.lang.c
Date 2018-04-27 09:26 -0700
References (3 earlier) <29063935-b373-4307-be80-78a64134d0e7@googlegroups.com> <hve1ed93b184siupcu3cq1sgp8b37tg3fb@4ax.com> <lnpo2ngojj.fsf@kst-u.example.com> <kfnefj0n0uk.fsf@x-alumni2.alumni.caltech.edu> <lnbme4fx2t.fsf@kst-u.example.com>
Message-ID <f173293f-ce83-4229-aa21-e326c24e37b3@googlegroups.com> (permalink)
Subject Re: gcc_centric C code
From supercat@casperkitty.com

Show all headers | View raw


On Friday, April 27, 2018 at 11:12:04 AM UTC-5, Keith Thompson wrote:
> Tim Rentsch <txr@alumni.caltech.edu> writes:
> > Keith Thompson <kst-u@mib.org> writes:
> >> Robert Wessel <robertwessel2@yahoo.com> writes:
> >>> [contrasting __func__ and string-literal predefined macros]
> >>
> >> A very minor point:  values yielded by __func__ can be compared for
> >> pointer equality.
> >
> > So can values of string-literal predefined macros.
> 
> Can be *meaningfully* compared.  This:
> 
>     printf("%d\n", __FILE__ == __FILE__);
> 
> could print either 0 or 1.  The value of __func__ for a given
> non-inline function is always the same.

Would moving string concatenation from the preprocessor to the compiler be
an observable change?  It would seem desirable to guarantee that the
comparison above would yield true, but not to require that all string
literals with equivalent content must always do so.  If concatenation
were allowed to be performed in the compiler, then there would be two
ways for an implementation to guarantee that the above comparison would
always yield true:

1. An implementation could do the concatenation in the preprocessor (as is
   currently done) if it guarantees that strings with identical content
   will get merged.

2. An implementation could have __FILE expand to a compiler intrinsic
   reserved word (e.g. ___FILE) and then have the parsing logic say
   that if the system is looking for a literal quote and it sees
   ___FILE, or if it sees ___FILE followed by a literal quote, then it
   will interpret treat the contents of ___FILE as a literal quote that
   can be concatenated, but otherwise it will treat it as a static
   identifier.

Note that while #2 may be somewhat difficult to describe in a formal
grammar, it would not be particularly difficult to *implement*.  Sometimes
the Standard gets too hung up with trying to specify things as formal
grammars, without recognizing that not all useful constructs should be
expected to fit that mold.

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


Thread

gcc_centric C code bartc <bc@freeuk.com> - 2018-04-25 16:21 +0100
  gcc_centric C code Chad <cdalten@gmail.com> - 2018-04-25 08:34 -0700
  Re: gcc_centric C code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-04-25 16:41 +0100
    Re: gcc_centric C code Spiros Bousbouras <spibou@gmail.com> - 2018-04-25 16:19 +0000
      Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-25 18:02 +0100
        Re: gcc_centric C code Nick Bowler <nbowler@draconx.ca> - 2018-04-25 17:15 +0000
          Re: gcc_centric C code Robert Wessel <robertwessel2@yahoo.com> - 2018-04-25 12:33 -0500
          Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-25 20:51 +0100
            Re: gcc_centric C code supercat@casperkitty.com - 2018-04-25 13:01 -0700
              Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-25 21:21 +0100
            Re: gcc_centric C code jameskuyper@verizon.net - 2018-04-25 13:45 -0700
        Re: gcc_centric C code Spiros Bousbouras <spibou@gmail.com> - 2018-04-25 17:20 +0000
      Re: gcc_centric C code supercat@casperkitty.com - 2018-04-25 10:30 -0700
        Re: gcc_centric C code Robert Wessel <robertwessel2@yahoo.com> - 2018-04-25 12:35 -0500
          Re: gcc_centric C code Keith Thompson <kst-u@mib.org> - 2018-04-25 10:54 -0700
            Re: gcc_centric C code Philipp Klaus Krause <pkk@spth.de> - 2018-04-25 20:27 +0200
              Re: gcc_centric C code Keith Thompson <kst-u@mib.org> - 2018-04-25 12:38 -0700
              Re: gcc_centric C code Robert Wessel <robertwessel2@yahoo.com> - 2018-04-25 19:53 -0500
                Re: gcc_centric C code Keith Thompson <kst-u@mib.org> - 2018-04-25 18:13 -0700
                Re: gcc_centric C code Nick Bowler <nbowler@draconx.ca> - 2018-04-26 15:16 +0000
                Re: gcc_centric C code Tim Rentsch <txr@alumni.caltech.edu> - 2018-04-27 08:17 -0700
                Re: gcc_centric C code Philipp Klaus Krause <pkk@spth.de> - 2018-04-26 08:03 +0200
                Re: gcc_centric C code Nick Bowler <nbowler@draconx.ca> - 2018-04-26 14:30 +0000
                Re: gcc_centric C code jameskuyper@verizon.net - 2018-04-26 08:26 -0700
                Re: gcc_centric C code Philipp Klaus Krause <pkk@spth.de> - 2018-04-26 19:04 +0200
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-27 07:48 +1200
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 21:08 +0100
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-27 08:18 +1200
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 21:44 +0100
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-27 09:01 +1200
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 23:16 +0100
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-27 10:27 +1200
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 23:48 +0100
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-27 20:41 +1200
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-27 11:51 +0100
                Re: gcc_centric C code Ian Collins <ian-news@hotmail.com> - 2018-04-28 07:32 +1200
                Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-28 04:34 -0700
                Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-26 23:05 -0700
                Re: gcc_centric C code jacobnavia <jacob@jacob.remcomp.fr> - 2018-04-27 00:52 +0200
                Re: gcc_centric C code supercat@casperkitty.com - 2018-04-26 16:23 -0700
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-28 11:24 +0100
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-28 01:42 +0100
                Re: gcc_centric C code Dan Purgert <dan@djph.net> - 2018-04-26 21:40 +0000
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 23:34 +0100
                Re: gcc_centric C code "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-04-26 14:13 -0700
                Re: gcc_centric C code "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-04-26 14:16 -0700
            Re: gcc_centric C code Tim Rentsch <txr@alumni.caltech.edu> - 2018-04-27 08:08 -0700
              Re: gcc_centric C code Keith Thompson <kst-u@mib.org> - 2018-04-27 09:11 -0700
                Re: gcc_centric C code supercat@casperkitty.com - 2018-04-27 09:26 -0700
                Re: gcc_centric C code Tim Rentsch <txr@alumni.caltech.edu> - 2018-04-27 09:49 -0700
          Re: gcc_centric C code supercat@casperkitty.com - 2018-04-25 12:31 -0700
            Re: gcc_centric C code Nick Bowler <nbowler@draconx.ca> - 2018-04-25 20:13 +0000
              Re: gcc_centric C code supercat@casperkitty.com - 2018-04-25 13:50 -0700
        Re: gcc_centric C code Nick Bowler <nbowler@draconx.ca> - 2018-04-25 18:02 +0000
      Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-25 22:39 -0700
    Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-25 18:36 +0100
      Re: gcc_centric C code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-04-25 23:15 +0100
        Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 02:02 +0100
          Re: gcc_centric C code Keith Thompson <kst-u@mib.org> - 2018-04-25 18:28 -0700
          Re: gcc_centric C code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-04-26 11:45 +0100
            Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 14:53 +0100
              Re: gcc_centric C code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-04-26 23:38 +0100
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-27 00:31 +0100
                Re: gcc_centric C code Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-04-27 00:47 +0100
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-27 02:28 +0100
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-04-27 03:44 -0700
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-05-03 13:57 +0100
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-05-03 11:02 -0700
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-05-03 11:07 -0700
                Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-05-03 11:13 -0700
                Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-05-03 19:50 +0100
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-05-03 13:37 -0700
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-05-03 13:44 -0700
                Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-05-11 10:25 -0700
            Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-26 07:01 -0700
          Re: Clearly everyone else likes to do things the hard way Noob <root@127.0.0.1> - 2018-04-26 14:51 +0200
            Re: Clearly everyone else likes to do things the hard way mark.bluemel@gmail.com - 2018-04-26 07:09 -0700
              Re: Clearly everyone else likes to do things the hard way gazelle@shell.xmission.com (Kenny McCormack) - 2018-04-26 17:05 +0000
                Re: Clearly everyone else likes to do things the hard way bartc <bc@freeuk.com> - 2018-04-26 18:38 +0100
                Re: Clearly everyone else likes to do things the hard way 1alvinalbrecht1@gmail.com - 2018-04-26 11:34 -0700
                Re: Clearly everyone else likes to do things the hard way bartc <bc@freeuk.com> - 2018-04-26 21:36 +0100
                Re: Clearly everyone else likes to do things the hard way C W Rose <cwr@seckford.org> - 2018-04-27 19:23 +0100
                Re: Clearly everyone else likes to do things the hard way bartc <bc@freeuk.com> - 2018-04-28 14:34 +0100
                Re: Clearly everyone else likes to do things the hard way Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-28 10:32 -0700
                Re: Clearly everyone else likes to do things the hard way supercat@casperkitty.com - 2018-04-30 10:16 -0700
                Re: Clearly everyone else likes to do things the hard way bartc <bc@freeuk.com> - 2018-04-30 19:41 +0100
                Re: Clearly everyone else likes to do things the hard way supercat@casperkitty.com - 2018-04-30 12:11 -0700
                Re: Clearly everyone else likes to do things the hard way scott@slp53.sl.home (Scott Lurndal) - 2018-04-30 19:14 +0000
                Re: Clearly everyone else likes to do things the hard way scott@slp53.sl.home (Scott Lurndal) - 2018-04-30 19:12 +0000
                Re: Clearly everyone else likes to do things the hard way bartc <bc@freeuk.com> - 2018-04-30 21:19 +0100
                Re: Clearly everyone else likes to do things the hard way Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-30 19:23 -0700
                Re: Clearly everyone else likes to do things the hard way Philipp Klaus Krause <pkk@spth.de> - 2018-04-26 19:45 +0200
      Re: gcc_centric C code luser droog <luser.droog@gmail.com> - 2018-04-25 21:56 -0700
        Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 11:06 +0100
          Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 11:27 +0100
      Re: gcc_centric C code antispam@math.uni.wroc.pl - 2018-04-26 17:00 +0000
  Re: gcc_centric C code Thiago Adams <thiago.adams@gmail.com> - 2018-04-25 09:26 -0700
  Re: gcc_centric C code Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-04-26 12:39 +0000
    Re: gcc_centric C code gazelle@shell.xmission.com (Kenny McCormack) - 2018-04-26 13:09 +0000
  Re: gcc_centric C code Wouter Verhelst <w@uter.be> - 2018-04-26 13:26 +0200
    Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-26 18:03 +0100
    Re: gcc_centric C code Steven Petruzzellis <frelwizzen@gmail.com> - 2018-04-26 14:32 -0700
  Re: gcc_centric C code Tim Rentsch <txr@alumni.caltech.edu> - 2018-04-27 09:41 -0700
    Re: gcc_centric C code bartc <bc@freeuk.com> - 2018-04-27 19:37 +0100

csiph-web