mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-03-22 02:31:28 +00:00
Added ftepp predefs flag (ability to turn on/off predefs) disabled by default (even with -ftepp), enabled with -E, to enable use -fftepp-predefs.
This commit is contained in:
parent
bd12429cd0
commit
0a57c408c0
4 changed files with 17 additions and 12 deletions
16
ftepp.c
16
ftepp.c
|
@ -1391,14 +1391,16 @@ static bool ftepp_preprocess(ftepp_t *ftepp)
|
|||
case TOKEN_IDENT:
|
||||
case TOKEN_TYPENAME:
|
||||
/* is it a predef? */
|
||||
for (i = 0; i < sizeof(ftepp_predefs) / sizeof (*ftepp_predefs); i++) {
|
||||
if (!strcmp(ftepp_predefs[i].name, ftepp_tokval(ftepp))) {
|
||||
expand = ftepp_predefs[i].func(ftepp->lex);
|
||||
ftepp_out(ftepp, expand, false);
|
||||
ftepp_next(ftepp); /* skip */
|
||||
if (OPTS_FLAG(FTEPP_PREDEFS)) {
|
||||
for (i = 0; i < sizeof(ftepp_predefs) / sizeof (*ftepp_predefs); i++) {
|
||||
if (!strcmp(ftepp_predefs[i].name, ftepp_tokval(ftepp))) {
|
||||
expand = ftepp_predefs[i].func(ftepp->lex);
|
||||
ftepp_out(ftepp, expand, false);
|
||||
ftepp_next(ftepp); /* skip */
|
||||
|
||||
mem_d(expand); /* free memory */
|
||||
break;
|
||||
mem_d(expand); /* free memory */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
1
main.c
1
main.c
|
@ -261,6 +261,7 @@ static bool options_parse(int argc, char **argv) {
|
|||
|
||||
case 'E':
|
||||
opts.pp_only = true;
|
||||
opts_set(opts.flags, FTEPP_PREDEFS, true); /* predefs on for -E */
|
||||
break;
|
||||
|
||||
/* debug turns on -flno */
|
||||
|
|
1
opts.c
1
opts.c
|
@ -57,6 +57,7 @@ static void opts_setdefault() {
|
|||
/* flags */
|
||||
opts_set(opts.flags, ADJUST_VECTOR_FIELDS, true);
|
||||
opts_set(opts.flags, FTEPP, false);
|
||||
opts_set(opts.flags, FTEPP_PREDEFS, false);
|
||||
opts_set(opts.flags, CORRECT_TERNARY, true);
|
||||
}
|
||||
|
||||
|
|
11
opts.def
11
opts.def
|
@ -31,6 +31,7 @@
|
|||
GMQCC_DEFINE_FLAG(DARKPLACES_STRING_TABLE_BUG)
|
||||
GMQCC_DEFINE_FLAG(ADJUST_VECTOR_FIELDS)
|
||||
GMQCC_DEFINE_FLAG(FTEPP)
|
||||
GMQCC_DEFINE_FLAG(FTEPP_PREDEFS)
|
||||
GMQCC_DEFINE_FLAG(RELAXED_SWITCH)
|
||||
GMQCC_DEFINE_FLAG(SHORT_LOGIC)
|
||||
GMQCC_DEFINE_FLAG(PERL_LOGIC)
|
||||
|
@ -78,11 +79,11 @@
|
|||
#endif
|
||||
|
||||
#ifdef GMQCC_TYPE_OPTIMIZATIONS
|
||||
GMQCC_DEFINE_FLAG(PEEPHOLE, 1)
|
||||
GMQCC_DEFINE_FLAG(LOCAL_TEMPS, 3)
|
||||
GMQCC_DEFINE_FLAG(TAIL_RECURSION, 1)
|
||||
GMQCC_DEFINE_FLAG(TAIL_CALLS, 2)
|
||||
GMQCC_DEFINE_FLAG(OVERLAP_LOCALS, 3)
|
||||
GMQCC_DEFINE_FLAG(PEEPHOLE, 1)
|
||||
GMQCC_DEFINE_FLAG(LOCAL_TEMPS, 3)
|
||||
GMQCC_DEFINE_FLAG(TAIL_RECURSION, 1)
|
||||
GMQCC_DEFINE_FLAG(TAIL_CALLS, 2)
|
||||
GMQCC_DEFINE_FLAG(OVERLAP_LOCALS, 3)
|
||||
GMQCC_DEFINE_FLAG(STRIP_CONSTANT_NAMES, 1)
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue