Preprocessing ##

Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Sat, 13 May 2017 08:49:36 +0200

          From comp.compilers

Related articles
Preprocessing ## DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2017-05-13)
Re: Preprocessing ## DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2017-05-15)
Re: Preprocessing ## 686-678-9105@kylheku.com (Kaz Kylheku) (2017-05-15)
Re: Preprocessing ## gneuner2@comcast.net (George Neuner) (2017-05-15)
Re: Preprocessing ## DrDiettrich1@aol.com.dmarc.email (Hans-Peter Diettrich) (2017-06-02)
| List of all articles for this month |

From: Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Newsgroups: comp.compilers
Date: Sat, 13 May 2017 08:49:36 +0200
Organization: Compilers Central
Injection-Info: miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="6245"; mail-complaints-to="abuse@iecc.com"
Keywords: question
Posted-Date: 14 May 2017 21:21:48 EDT

How is the C preprocessor assumed to handle the ## concatenation operator?


In the Windows headers I found macros like
      #define foo(x) bar(##baz(x))
where an expansion into ... (baz ... doesn't make sense, because "(baz"
is not a valid preprocessor token. Can somebody explain the meaning and
handling of such constructs?


DoDi [I would guess that some macro between ( and ## expanded to
nothing. Or it could just be one of those text editing errors. -John]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.