[distcc] Further progress on include_server macro processing

Alastair Rankine arankine at gmail.com
Wed Feb 16 04:49:48 MST 2011


So as a followup to my last email, I've found a few bugs in the macro processing code in the include_server. This doesn't yet mean that the boost headers can be parsed in a reasonable time, but I'm going to continue to work on it.

I've got a branch here which has fixes and test cases for all the bugs found to date:

https://code.launchpad.net/~arankine/distcc/issue16

Briefly, the fixes are as follows:

- Handle ## operator immediately following a function-like macro: FOO(bar)##baz
- Handle spaces between a symbol and parens for a function-like macro invocation: FOO (bar)
- Handle spaces in the argument list of a multiple argument macro definition & invocation: FOO(bar, baz)
- Spaces around the ## operator as mentioned in the previous email: a ## b

By the way, In the last email I was trying to float the idea of not populating the value set with verbatim function-like macros. I haven't yet decided whether or not this is a good idea, so I haven't committed it to the branch above.

Very much interested in any feedback.


More information about the distcc mailing list