Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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> |
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
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