> the MSVC preprocessor doesn't support conditional compilation
> inside a macro expansion.

I take it that's <pseudocode>

        FUNCTION_LIKE_MACRO(early, args,
#ifdef SYMBOL
                        symbol,
#else
                        token,
#endif
                        remaining);

</pseudocode> which is indeed not supported by ANSI C:
<quote src="ANSI X3.159-1989, 3.8.3 Macro Replacement, closing words">

  If there are sequences of preprocessing tokens within the list of
  arguments that would otherwise act as preprocessing directives, the
  behavior is undefined.

</quote>

It should be easy to fix this; the usual pattern turns the above into

#ifdef SYMBOL
        FUNCTION_LIKE_MACRO(early, args, symbol, remaining);
#else
        FUNCTION_LIKE_MACRO(early, args, token, remaining);
#endif

which is entirely legitimate.

        Eddy.


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to