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


Groups > comp.lang.c > #12904

Re: A variation of #

From James Kuyper <jameskuyper@verizon.net>
Newsgroups comp.lang.c
Subject Re: A variation of #
Date 2011-11-08 12:15 -0500
Organization A noiseless patient Spider
Message-ID <4EB963BA.1020800@verizon.net> (permalink)
References (1 earlier) <9hqo41F4bgU2@mid.individual.net> <73822171-7a92-4420-9eea-e74bbeda1ff8@x28g2000prb.googlegroups.com> <4EB83A82.1080100@verizon.net> <v44mo8-lfm.ln1@jones.homeip.net> <e5604f05-1376-4a92-9c17-51cc92b3ff0b@d17g2000yql.googlegroups.com>

Show all headers | View raw


On 11/08/2011 12:01 PM, Harald van Dijk wrote:
> On Nov 7, 11:53 pm, lawrence.jo...@siemens.com wrote:
>> James Kuyper <jameskuy...@verizon.net> wrote:
>>> #include <stdlib.h>
>>> #define TRICAT(a, b, c) a ## b ## c
>>> #define CHAR(a, b, c) TRICAT(a, b, c)
>>
>>> #define CASE1 x
>>
>> ...
>>>     case CHAR('
>>>         , CASE1, '
>>>         ): break;
>>
>> Nice try, but no cigar.  The ## operator requires that the result be a
>> valid pp-token and, depending on the order in which the operators are
>> evaluated, you either end up with 'x or x', neither of which are valid
>> pp-tokens.
> 
> Even if ## were redefined so that intermediate results of a ## b ## c
> are ignored, the behaviour is explicitly undefined.
> 
> 6.4:
> preprocessing-token:
>   [...]
>   each non-white-space character that cannot be one of the above
> 
> 6.4p3:
> If a ' or a " character matches the last category, the behavior is
> undefined.

Yes, I forgot about that item, too.

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


Thread

A variation of # Andrey Vul <andrey.vul@gmail.com> - 2011-11-07 10:53 -0800
  Re: A variation of # Ian Collins <ian-news@hotmail.com> - 2011-11-08 07:59 +1300
    Re: A variation of # Andrey Vul <andrey.vul@gmail.com> - 2011-11-07 11:11 -0800
      Re: A variation of # James Kuyper <jameskuyper@verizon.net> - 2011-11-07 15:07 -0500
        Re: A variation of # lawrence.jones@siemens.com - 2011-11-07 17:53 -0500
          Re: A variation of # James Kuyper <jameskuyper@verizon.net> - 2011-11-07 18:31 -0500
            Re: A variation of # lawrence.jones@siemens.com - 2011-11-08 09:16 -0500
          Re: A variation of # Thad Smith <ThadSmith@acm.org> - 2011-11-07 19:51 -0700
          Re: A variation of # Harald van Dijk <truedfx@gmail.com> - 2011-11-08 09:01 -0800
            Re: A variation of # James Kuyper <jameskuyper@verizon.net> - 2011-11-08 12:15 -0500
        Re: A variation of # Andrey Vul <andrey.vul@gmail.com> - 2011-11-07 17:32 -0800
          Re: A variation of # James Kuyper <jameskuyper@verizon.net> - 2011-11-07 21:17 -0500
    Re: A variation of # Andrey Vul <andrey.vul@gmail.com> - 2011-11-07 11:08 -0800
  Re: A variation of # Peter Nilsson <airia@acay.com.au> - 2011-11-07 16:46 -0800

csiph-web