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) |
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]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.