mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-25 13:11:00 +00:00
[qfcc] Clean up some cruft from recent __VA_OPT__ changes
Using a special token id for __VA_OPT__ means the macro is no longer needed (need to improve checks for misuse of __VA_OPT__, though).
This commit is contained in:
parent
fc03e7eb7a
commit
5c0b2aa891
2 changed files with 1 additions and 10 deletions
|
@ -411,12 +411,6 @@ void cpp_define (const char *arg)
|
|||
make_magic_macro (cpp_macros, "__FILE__", rua_macro_file);
|
||||
make_magic_macro (cpp_macros, "__LINE__", rua_macro_line);
|
||||
make_magic_macro (cpp_macros, "__VA_ARGS__", rua_macro_va_args);
|
||||
|
||||
auto m = make_magic_macro (cpp_macros, "__VA_OPT__", rua_macro_va_opt);
|
||||
m->params = new_symtab (0, stab_param);
|
||||
m->num_params = -1;
|
||||
m->args = calloc (1, sizeof (rua_macro_t *));
|
||||
m->args[0] = malloc (sizeof (rua_macro_t));
|
||||
}
|
||||
size_t len = strlen (arg);
|
||||
if (len > 0x10000) {
|
||||
|
|
|
@ -1610,7 +1610,7 @@ rescan:
|
|||
extra->macro = m;
|
||||
goto rescan;
|
||||
} else if (token == -rua_va_opt) {
|
||||
if (!macro->args[~macro->num_params]
|
||||
if (!macro->params || !macro->args[~macro->num_params]
|
||||
|| !macro->args[~macro->num_params]->tokens) {
|
||||
goto rescan;
|
||||
}
|
||||
|
@ -2440,9 +2440,6 @@ rua_macro_va_args (rua_macro_t *macro, void *scanner)
|
|||
|
||||
auto extra = qc_yyget_extra (scanner);
|
||||
auto cur = extra->macro;
|
||||
if (cur && strcmp (cur->name, "__VA_OPT__") == 0) {
|
||||
cur = cur->next;
|
||||
}
|
||||
if (!cur || !cur->params || cur->num_params >= 0) {
|
||||
warning (0, "__VA_ARGS__ can appear only in the expansion of a "
|
||||
"variadic macro");
|
||||
|
|
Loading…
Reference in a new issue