diff --git a/node.h b/node.h index 29eaafd3ec..59a0e06d7e 100644 --- a/node.h +++ b/node.h @@ -224,7 +224,7 @@ enum node_type { typedef struct RNode { VALUE flags; - VALUE nd_reserved; /* ex nd_file */ + VALUE nd_location; /* lineno and column */ union { struct RNode *node; ID id; @@ -270,13 +270,13 @@ typedef struct RNode { #define nd_line(n) (int)(((SIGNED_VALUE)RNODE(n)->flags)>>NODE_LSHIFT) #define nd_set_line(n,l) \ RNODE(n)->flags=((RNODE(n)->flags&~((VALUE)(-1)<nd_reserved & 0xffff) +#define nd_column(n) (int)(RNODE(n)->nd_location & 0xffff) #define nd_set_column(n, v) \ - RNODE(n)->nd_reserved = (RNODE(n)->nd_reserved & ~0xffff) | ((v) > 0xffff ? 0xffff : ((unsigned int)(v)) & 0xffff) + RNODE(n)->nd_location = (RNODE(n)->nd_location & ~0xffff) | ((v) > 0xffff ? 0xffff : ((unsigned int)(v)) & 0xffff) -#define nd_lineno(n) (int)((RNODE(n)->nd_reserved >> 16) & 0xffff) +#define nd_lineno(n) (int)((RNODE(n)->nd_location >> 16) & 0xffff) #define nd_set_lineno(n, v) \ - RNODE(n)->nd_reserved = (RNODE(n)->nd_reserved & ~0xffff0000) | (((v) > 0xffff ? 0xffff : ((unsigned int)(v)) & 0xffff) << 16) + RNODE(n)->nd_location = (RNODE(n)->nd_location & ~0xffff0000) | (((v) > 0xffff ? 0xffff : ((unsigned int)(v)) & 0xffff) << 16) #define nd_head u1.node #define nd_alen u2.argc