Ryan C. Gordon <icculus@icculus.org> [Fri, 26 Feb 2010 02:34:45 -0500] rev 873
Macro args in macro args need to be replaced inline.
So...
#define x THIS_IS_THE_DEFINE
#define b(x) x
#define z(x) b(x)
z(THIS_IS_THE_MACRO_ARG)
...should produce THIS_IS_THE_MACRO_ARG and not THIS_IS_THE_DEFINE.
Fixes unit-tests/preprocessor/output/nested-macro-args
Ryan C. Gordon <icculus@icculus.org> [Thu, 25 Feb 2010 11:02:26 -0500] rev 872
Added some unit tests for the preprocessor #line directive.
Aras Pranckevicius <aras@unity3d.com> [Thu, 25 Feb 2010 11:05:50 +0200] rev 871
filename in #line is optional
Aras Pranckevicius <aras@unity3d.com> [Thu, 25 Feb 2010 08:52:46 +0200] rev 870
make compile on MSVC, and fix stringmap_insert
Ryan C. Gordon <icculus@icculus.org> [Thu, 25 Feb 2010 02:26:36 -0500] rev 869
Added concat operator ("##") to the preprocessor.
There are still some failing corner cases, but it's probably good enough.
Ryan C. Gordon <icculus@icculus.org> [Thu, 25 Feb 2010 02:25:42 -0500] rev 868
Catch these tokens in the compiler, for badly-formed preprocessor source code.
Ryan C. Gordon <icculus@icculus.org> [Wed, 24 Feb 2010 21:23:58 -0500] rev 867
Don't reference built-in include functions if we preprocessed them out.
Ryan C. Gordon <icculus@icculus.org> [Wed, 24 Feb 2010 21:21:54 -0500] rev 866
Regenerated lexer with stringify operator.
Ryan C. Gordon <icculus@icculus.org> [Wed, 24 Feb 2010 21:20:37 -0500] rev 865
Added stringify operator ("#") to preprocessor.
Ryan C. Gordon <icculus@icculus.org> [Wed, 24 Feb 2010 14:00:25 -0500] rev 864
Check for "##" at the start and end of macro definitions.