Commit 44ed91a1 by Neil Booth Committed by Neil Booth

cppmacro.c (_cpp_create_definition): Optimize the case of a macro defined to itself.

	* cppmacro.c (_cpp_create_definition): Optimize the case of
        a macro defined to itself.

From-SVN: r37123
parent 3542203b
2000-10-29 Neil Booth <neilb@earthling.net>
* cppmacro.c (_cpp_create_definition): Optimize the case of
a macro defined to itself.
2000-10-29 Neil Booth <neilb@earthling.net>
* cpplex.c (save_comment): Don't store new lines in C++ comments.
2000-10-29 Michael Hayes <mhayes@redhat.com>
......
......@@ -1403,7 +1403,6 @@ _cpp_create_definition (pfile, node)
macro->paramc = 0;
macro->fun_like = 0;
macro->var_args = 0;
macro->disabled = 0;
macro->count = 0;
macro->expansion = (cpp_token *) POOL_FRONT (&pfile->macro_pool);
......@@ -1485,6 +1484,11 @@ _cpp_create_definition (pfile, node)
/* Clear the whitespace flag from the leading token. */
macro->expansion[0].flags &= ~PREV_WHITE;
/* Implement the macro-defined-to-itself optimisation. */
macro->disabled = (macro->count == 1 && !macro->fun_like
&& macro->expansion[0].type == CPP_NAME
&& macro->expansion[0].val.node == node);
/* Commit the memory. */
POOL_COMMIT (&pfile->macro_pool, macro->count * sizeof (cpp_token));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment