summaryrefslogtreecommitdiff
path: root/glcpp.h
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-05-20 15:15:26 -0700
committerCarl Worth <cworth@cworth.org>2010-05-20 15:15:26 -0700
commitc10a51ba13272dc48407b885d8684be99bba120d (patch)
treec5e9be684befb68e37723eec73cc0ddc4ad4f9b2 /glcpp.h
parentb894583fd0246060d908a0cc7b5f3ef72a5a2112 (diff)
Pre-expand macro arguments at time of invocation.
Previously, we were using the same lexing stack as we use for macro expansion to also expand macro arguments. Instead, we now do this earlier by simply recursing over the macro-invocations replacement list and constructing a new expanded list, (and pushing only *that* onto the stack). This is simpler, and also allows us to more easily implement token pasting in the future.
Diffstat (limited to 'glcpp.h')
-rw-r--r--glcpp.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/glcpp.h b/glcpp.h
index 048a9be76b..1537109ada 100644
--- a/glcpp.h
+++ b/glcpp.h
@@ -71,7 +71,6 @@ typedef struct argument_list {
typedef struct glcpp_parser glcpp_parser_t;
typedef enum {
- TOKEN_CLASS_ARGUMENT,
TOKEN_CLASS_IDENTIFIER,
TOKEN_CLASS_IDENTIFIER_FINALIZED,
TOKEN_CLASS_FUNC_MACRO,
@@ -92,7 +91,6 @@ typedef struct {
typedef struct expansion_node {
macro_t *macro;
- argument_list_t *arguments;
token_node_t *replacements;
struct expansion_node *next;
} expansion_node_t;