$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2005-12-20 04:56:20
Paul Mensonides wrote:
> What I said here isn't quite correct, so I'll elaborate.  The block has to be
> parsed just enough to determine nested conditional compilation blocks.  E.g.
> 
> #if 0
>    #if 0
>    #endif
> #endif
> 
> ....but it isn't supposed to parse anything else--including an operands to
> directives.  So, the following should still work:
> 
> #if 0
>    #if // no expression!
>    #endif
> #endif
> 
> So, basically, the only parse is to tell if a name following '#' on a new line
> is one of the conditional compilation directives or not.  Specifically, from
> 16.1/6, "...the group that it controls is skipped: directives are processed only
> through the name that determines the directive in order to keep track of the
> level of nested conditionals; the rest of the directives' preprocessing tokens
> are ignored, as are the other preprocessing tokens in the group."
Ok, thanks for elaborating. I think this gives me enough details to file a 
bug report with the compiler vendor.
Markus