fix end-of-scope for self-referential macros

master
Joe Soroka 2011-07-08 00:55:34 -07:00
parent f8656fbc3c
commit d01f65ef93
2 changed files with 3 additions and 2 deletions

View File

@ -2689,6 +2689,8 @@ static int macro_subst_tok(TokenString *tok_str,
ml->p = NULL;
*can_read_stream = ml -> prev;
}
/* also, end of scope for nested defined symbol */
(*nested_list)->v = -1;
goto redo;
}
} else {

View File

@ -290,13 +290,12 @@ static void print_num(char *fn, int line, int num) {
void recursive_macro_test(void)
{
#if 0 /* doesnt work yet */
#define ELF32_ST_TYPE(val) ((val) & 0xf)
#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
#define STB_WEAK 2 /* Weak symbol */
#define ELFW(type) ELF##32##_##type
printf("%d\n", ELFW(ST_INFO)(STB_WEAK, ELFW(ST_TYPE)(123)));
#endif
#define WRAP(x) x