[cfe-commits] r163022 - in /cfe/trunk: include/clang/Lex/Token.h lib/Lex/PPMacroExpansion.cpp lib/Lex/TokenLexer.cpp test/Preprocessor/microsoft-ext.c

João Matos ripzonetriton at gmail.com
Wed Dec 12 17:17:36 PST 2012


On Thu, Dec 13, 2012 at 12:48 AM, Will Wilson <will at indefiant.com> wrote:

> Thanks for the info Joåo. Do you think it'll be a lot of work to get to
> get it working against the test case?


It does not seem too hard if you understand the preprocessor code and
concepts.

By the way, the original test case I added is wrong, as Nico pointed out
earlier.

If someone wants to work on it, this is one test case that shows the
problem:

# define M3(x, y, z) x + y + z
# define M2(x, y) M3(x, y)
# define P(x, y) {x, y}
# define M(x, y) M2(x, P(x, y))
M(a, b)

cl.exe preprocessor:

pp.c(24) : warning C4003: not enough actual parameters for macro 'M3'
a + {a, b} +

clang.exe preprocessor:

a + {a + b}


-- 
João Matos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121213/0aaa25b3/attachment.html>


More information about the cfe-commits mailing list