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


Groups > comp.lang.c > #148124

Re: curiosity about compiler phases

Subject Re: curiosity about compiler phases
Newsgroups comp.lang.c
References <9585199f-546a-46f8-ac2a-de27cc08a3f5@googlegroups.com>
From Bart <bc@freeuk.com>
Message-ID <FcZBF.211$rX6.122@fx22.am4> (permalink)
Organization virginmedia.com
Date 2019-11-22 22:22 +0000

Show all headers | View raw


On 07/11/2019 13:28, Thiago Adams wrote:
> I am doing some review in my lexer and I found the following
> curiosity when I was experimenting compiler explorer online.
> 
> When I print the preprocessor output -E of this code:
> 
> in\
> t i =09;
> 
> using x86-64 gcc 4.4.7, it prints:
> int i =09;
> 
> using x86-64 gcc 4.6.4, it prints:
> int
>    i =09;

Every so often you come across crazy things that C allows in its 
preprocessor; this is one of them. Not just being able to split up lines 
between tokens, but even in the middle of tokens!

So you could in theory write C programs one character per line, or write 
numbers like this:

   a = 1\
000\
000;

giving it numeric separators. Another one is being able to use macros as 
part of #include lines. But the way it does that is staggeringly crass:

  #define STAT  <sys/stat.h>
  #include STAT

This works (some compilers allow spaces around / etc), but is done by 
concatenating tokens "sys", "/", "stat", "." and "h". Here:

  #include FILE <A123.456.789>
  #include FILE

The filename is formed (with bcc anyway) with the three tokens A123, 
.456 and .789, the last two floating point constants.


With the line continuation in the middle of tokens, I simply took the 
decision that is was too ridiculous to implement. The fewer compilers 
that pander to it, the less likely it is that any programs will come to 
depend on it.

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


Thread

curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-07 05:28 -0800
  Re: curiosity about compiler phases Nick Bowler <nbowler@draconx.ca> - 2019-11-22 19:25 +0000
  Re: curiosity about compiler phases "A. K." <minforth@arcor.de> - 2019-11-22 12:19 -0800
  Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-22 22:22 +0000
    Typo? (Was: curiosity about compiler phases) gazelle@shell.xmission.com (Kenny McCormack) - 2019-11-22 22:34 +0000
      Re: Typo? (Was: curiosity about compiler phases) Bart <bc@freeuk.com> - 2019-11-22 23:49 +0000
        Re: Typo? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2019-11-22 19:26 -0700
    Re: curiosity about compiler phases scott@slp53.sl.home (Scott Lurndal) - 2019-11-22 23:12 +0000
      Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 00:06 +0000
        Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-22 20:34 -0500
        Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-23 01:47 +0000
          Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-22 21:21 -0500
            Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 03:26 +0000
              Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-24 11:29 +0000
                Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 16:49 +0000
          Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 12:21 +0000
            Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-23 10:08 -0500
            Re: curiosity about compiler phases scott@slp53.sl.home (Scott Lurndal) - 2019-11-23 15:49 +0000
              Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 16:21 +0000
                Re: curiosity about compiler phases Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-24 03:37 +0000
                Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-24 11:25 +0000
                Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-25 14:06 +0000
    Re: curiosity about compiler phases Keith Thompson <kst-u@mib.org> - 2019-11-22 21:25 -0800
      Beyond our pay grade (Was: curiosity about compiler phases) gazelle@shell.xmission.com (Kenny McCormack) - 2019-11-23 07:43 +0000
    Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-23 06:28 -0800
      Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-23 06:39 -0800
      Re: curiosity about compiler phases Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2019-11-23 09:46 -0500
        Re: curiosity about compiler phases Richard Damon <Richard@Damon-Family.org> - 2019-11-23 10:16 -0500
      Re: curiosity about compiler phases Bart <bc@freeuk.com> - 2019-11-23 16:13 +0000
        Re: curiosity about compiler phases Thiago Adams <thiago.adams@gmail.com> - 2019-11-25 03:24 -0800
  Re: curiosity about compiler phases Bonita Montero <Bonita.Montero@gmail.com> - 2019-11-23 08:43 +0100

csiph-web