mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 12:00:03 -05:00
re PR preprocessor/19077 (Internal compiler error compiling MPlayer)
2005-02-15 Eric Christopher <echristo@redhat.com> PR preprocessor/19077 * macro.c (cpp_macro_definition): Move handling of whitespace to PREV_WHITE conditional. Remove overloading of len variable. 2005-02-15 Eric Christopher <echristo@redhat.com> * gcc.dg/cpp/20050215-1.c: New file. From-SVN: r95080
This commit is contained in:
committed by
Eric Christopher
parent
6f85d0c479
commit
6da55c0077
@@ -1,3 +1,10 @@
|
||||
2005-02-15 Eric Christopher <echristo@redhat.com>
|
||||
|
||||
PR preprocessor/19077
|
||||
* macro.c (cpp_macro_definition): Move handling of whitespace
|
||||
to PREV_WHITE conditional. Remove overloading of len
|
||||
variable.
|
||||
|
||||
2005-02-14 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* directives.c, files.c, init.c, internal.h, macro.c, pch.c,
|
||||
|
||||
@@ -1666,6 +1666,7 @@ cpp_macro_definition (cpp_reader *pfile, const cpp_hashnode *node)
|
||||
len += NODE_LEN (macro->params[i]) + 1; /* "," */
|
||||
}
|
||||
|
||||
/* This should match below where we fill in the buffer. */
|
||||
if (CPP_OPTION (pfile, traditional))
|
||||
len += _cpp_replacement_text_len (macro);
|
||||
else
|
||||
@@ -1677,11 +1678,14 @@ cpp_macro_definition (cpp_reader *pfile, const cpp_hashnode *node)
|
||||
if (token->type == CPP_MACRO_ARG)
|
||||
len += NODE_LEN (macro->params[token->val.arg_no - 1]);
|
||||
else
|
||||
len += cpp_token_len (token) + 1; /* Includes room for ' '. */
|
||||
len += cpp_token_len (token);
|
||||
|
||||
if (token->flags & STRINGIFY_ARG)
|
||||
len++; /* "#" */
|
||||
if (token->flags & PASTE_LEFT)
|
||||
len += 3; /* " ##" */
|
||||
if (token->flags & PREV_WHITE)
|
||||
len++; /* " " */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1741,10 +1745,10 @@ cpp_macro_definition (cpp_reader *pfile, const cpp_hashnode *node)
|
||||
|
||||
if (token->type == CPP_MACRO_ARG)
|
||||
{
|
||||
len = NODE_LEN (macro->params[token->val.arg_no - 1]);
|
||||
memcpy (buffer,
|
||||
NODE_NAME (macro->params[token->val.arg_no - 1]), len);
|
||||
buffer += len;
|
||||
NODE_NAME (macro->params[token->val.arg_no - 1]),
|
||||
NODE_LEN (macro->params[token->val.arg_no - 1]));
|
||||
buffer += NODE_LEN (macro->params[token->val.arg_no - 1]);
|
||||
}
|
||||
else
|
||||
buffer = cpp_spell_token (pfile, token, buffer);
|
||||
|
||||
Reference in New Issue
Block a user