Menu

Tools Commit Log


Commit Date  
[r3000] by plombo

Fixed a buffer overflow in pp_lexer for tokens longer than 512 characters.

Also, this is revision 3000!!!!! Hooray!

2011-02-03 01:09:12 Tree
[r2999] by plombo

Fixed the parsing of function-style macros with parameters that are not a single identifier, such as 'func(32)' and 'func(foo+bar)'.

2011-02-03 01:09:07 Tree
[r2998] by plombo

Treat backslash-escaped line breaks as whitespace in pp_lexer. This improves the preprocessor's conformance to the C standard in corner cases.

2011-02-02 23:07:09 Tree
[r2997] by plombo

MAJOR refactoring of the preprocessor (pp_parser). Tokens are now emitted one at a time by pp_parser_emit_token(). pp_parser_parse() just calls that function until EOF.

It's worth noting that they're not quite emitted one at a time, because including and macro expansion still call pp_parser_parse() on the subparser. But this still moves the preprocessor a step closer to eliminating the token buffer.

2011-02-02 21:19:59 Tree
[r2996] by plombo

Replaced the emit() calls in pp_parser_readline() with use of the overread property.

Now pp_parser_parse() is the only preprocessor function that uses emit() directly.

2011-02-02 18:34:23 Tree
[r2995] by plombo

r2994 caused the actual contents of all macros to be stored incorrectly. Fixed.

2011-02-02 02:37:51 Tree
[r2994] by plombo

Fixed the preprocessor bug mentioned in the commit message for r2989, in which the line under a #define with only a name (e.g. '#define FOO') would be interpreted as part of the #define and not processed otherwise.

2011-02-02 01:56:40 Tree
[r2993] by plombo

Removed some debugging printfs from the preprocessor.

2011-02-02 01:36:46 Tree
[r2992] by plombo

Fixed an unwanted ')' character being emitted after expanding a function-style macro, introduced with the previous commit.

2011-02-02 01:36:42 Tree
[r2991] by plombo

Added a "token" property to pp_parser for the last token read. Removed the local token variable in several functions.

2011-02-02 01:36:40 Tree
Older >
MongoDB Logo MongoDB