X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=opts.c;h=46496ca838064c31d91ca0116525fc1336bb75cf;hp=286b1686b66c72a496f656664ffaba3e6497b75a;hb=a68f0fcb355db42acabe72da5939fbd1b04f6016;hpb=697ad9d3a795ac542d6d9e14b85a02300cc26aad diff --git a/opts.c b/opts.c index 286b168..46496ca 100644 --- a/opts.c +++ b/opts.c @@ -26,6 +26,34 @@ #include "gmqcc.h" +const unsigned int opts_opt_oflag[COUNT_OPTIMIZATIONS+1] = { +# define GMQCC_TYPE_OPTIMIZATIONS +# define GMQCC_DEFINE_FLAG(NAME, MIN_O) MIN_O, +# include "opts.def" + 0 +}; + +const opts_flag_def_t opts_opt_list[COUNT_OPTIMIZATIONS+1] = { +# define GMQCC_TYPE_OPTIMIZATIONS +# define GMQCC_DEFINE_FLAG(NAME, MIN_O) { #NAME, LONGBIT(OPTIM_##NAME) }, +# include "opts.def" + { NULL, LONGBIT(0) } +}; + +const opts_flag_def_t opts_warn_list[COUNT_WARNINGS+1] = { +# define GMQCC_TYPE_WARNS +# define GMQCC_DEFINE_FLAG(X) { #X, LONGBIT(WARN_##X) }, +# include "opts.def" + { NULL, LONGBIT(0) } +}; + +const opts_flag_def_t opts_flag_list[COUNT_FLAGS+1] = { +# define GMQCC_TYPE_FLAGS +# define GMQCC_DEFINE_FLAG(X) { #X, LONGBIT(X) }, +# include "opts.def" + { NULL, LONGBIT(0) } +}; + unsigned int opts_optimizationcount[COUNT_OPTIMIZATIONS]; opts_cmd_t opts; /* command lien options */ @@ -104,7 +132,7 @@ void opts_init(const char *output, int standard, size_t arraysize) { OPTS_OPTION_U16(OPTION_MEMDUMPCOLS) = 16; } -static bool opts_setflag_all(const char *name, bool on, uint32_t *flags, const opts_flag_def *list, size_t listsize) { +static bool opts_setflag_all(const char *name, bool on, uint32_t *flags, const opts_flag_def_t *list, size_t listsize) { size_t i; for (i = 0; i < listsize; ++i) { @@ -351,7 +379,6 @@ void opts_ini_init(const char *file) { size_t line; FILE *ini; - if (!file) { /* try ini */ if (!(ini = fs_file_open((file = "gmqcc.ini"), "r")))