X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=opts.def;h=4ccd409477391b3871a45983338b8ac3cce2ba34;hp=22e2dab4b984c912d7dfb7805e5b21a8f30d8a1c;hb=072bff44e6d574f5f32657875adcbe48fc27cb5b;hpb=debfe136a59968b250e7d57ac5d6f397c404bfb6 diff --git a/opts.def b/opts.def index 22e2dab..4ccd409 100644 --- a/opts.def +++ b/opts.def @@ -22,7 +22,7 @@ * SOFTWARE. */ #ifndef GMQCC_DEFINE_FLAG -# define GMQCC_DEFINE_FLAG(x) +# error "bad opts.def usage" #endif /* codegen flags */ @@ -31,6 +31,7 @@ GMQCC_DEFINE_FLAG(ADJUST_VECTOR_FIELDS) GMQCC_DEFINE_FLAG(FTEPP) GMQCC_DEFINE_FLAG(FTEPP_PREDEFS) + GMQCC_DEFINE_FLAG(FTEPP_MATHDEFS) GMQCC_DEFINE_FLAG(RELAXED_SWITCH) GMQCC_DEFINE_FLAG(SHORT_LOGIC) GMQCC_DEFINE_FLAG(PERL_LOGIC) @@ -48,11 +49,18 @@ GMQCC_DEFINE_FLAG(LOOP_LABELS) GMQCC_DEFINE_FLAG(UNTYPED_NIL) GMQCC_DEFINE_FLAG(PERMISSIVE) - GMQCC_DEFINE_FLAG(ENHANCED_DIAGNOSTICS) + GMQCC_DEFINE_FLAG(VARIADIC_ARGS) + GMQCC_DEFINE_FLAG(LEGACY_VECTOR_MATHS) + GMQCC_DEFINE_FLAG(EXPRESSIONS_FOR_BUILTINS) + GMQCC_DEFINE_FLAG(RETURN_ASSIGNMENTS) + GMQCC_DEFINE_FLAG(UNSAFE_VARARGS) + GMQCC_DEFINE_FLAG(TYPELESS_STORES) + GMQCC_DEFINE_FLAG(SORT_OPERANDS) #endif /* warning flags */ #ifdef GMQCC_TYPE_WARNS + GMQCC_DEFINE_FLAG(UNINITIALIZED_GLOBAL) GMQCC_DEFINE_FLAG(DEBUG) GMQCC_DEFINE_FLAG(UNUSED_VARIABLE) GMQCC_DEFINE_FLAG(USED_UNINITIALIZED) @@ -70,7 +78,7 @@ GMQCC_DEFINE_FLAG(EFFECTLESS_STATEMENT) GMQCC_DEFINE_FLAG(END_SYS_FIELDS) GMQCC_DEFINE_FLAG(ASSIGN_FUNCTION_TYPES) - GMQCC_DEFINE_FLAG(PREPROCESSOR) + GMQCC_DEFINE_FLAG(CPP) GMQCC_DEFINE_FLAG(MULTIFILE_IF) GMQCC_DEFINE_FLAG(DOUBLE_DECLARATION) GMQCC_DEFINE_FLAG(CONST_VAR) @@ -78,32 +86,59 @@ GMQCC_DEFINE_FLAG(TERNARY_PRECEDENCE) GMQCC_DEFINE_FLAG(UNKNOWN_PRAGMAS) GMQCC_DEFINE_FLAG(UNREACHABLE_CODE) - GMQCC_DEFINE_FLAG(CPP) GMQCC_DEFINE_FLAG(UNKNOWN_ATTRIBUTE) GMQCC_DEFINE_FLAG(RESERVED_NAMES) GMQCC_DEFINE_FLAG(UNINITIALIZED_CONSTANT) - GMQCC_DEFINE_FLAG(UNINITIALIZED_GLOBAL) GMQCC_DEFINE_FLAG(DIFFERENT_QUALIFIERS) GMQCC_DEFINE_FLAG(DIFFERENT_ATTRIBUTES) GMQCC_DEFINE_FLAG(DEPRECATED) GMQCC_DEFINE_FLAG(PARENTHESIS) + GMQCC_DEFINE_FLAG(UNSAFE_TYPES) + GMQCC_DEFINE_FLAG(BREAKDEF) + GMQCC_DEFINE_FLAG(CONST_OVERWRITE) + GMQCC_DEFINE_FLAG(DIRECTIVE_INMACRO) + GMQCC_DEFINE_FLAG(BUILTINS) #endif #ifdef GMQCC_TYPE_OPTIMIZATIONS GMQCC_DEFINE_FLAG(PEEPHOLE, 1) - GMQCC_DEFINE_FLAG(LOCAL_TEMPS, 3) - GMQCC_DEFINE_FLAG(GLOBAL_TEMPS, 3) GMQCC_DEFINE_FLAG(TAIL_RECURSION, 1) - GMQCC_DEFINE_FLAG(TAIL_CALLS, 2) GMQCC_DEFINE_FLAG(OVERLAP_LOCALS, 3) + GMQCC_DEFINE_FLAG(LOCAL_TEMPS, 3) + GMQCC_DEFINE_FLAG(GLOBAL_TEMPS, 3) GMQCC_DEFINE_FLAG(STRIP_CONSTANT_NAMES, 1) GMQCC_DEFINE_FLAG(OVERLAP_STRINGS, 2) - GMQCC_DEFINE_FLAG(CALL_STORES, 1) + GMQCC_DEFINE_FLAG(CALL_STORES, 3) GMQCC_DEFINE_FLAG(VOID_RETURN, 1) GMQCC_DEFINE_FLAG(VECTOR_COMPONENTS, 1) + GMQCC_DEFINE_FLAG(CONST_FOLD_DCE, 2) + GMQCC_DEFINE_FLAG(CONST_FOLD, 0) /* cannot be turned off */ +#endif + +#ifdef GMQCC_TYPE_OPTIONS + GMQCC_DEFINE_FLAG(O) + GMQCC_DEFINE_FLAG(OUTPUT) + GMQCC_DEFINE_FLAG(QUIET) + GMQCC_DEFINE_FLAG(G) + GMQCC_DEFINE_FLAG(STANDARD) + GMQCC_DEFINE_FLAG(DEBUG) + GMQCC_DEFINE_FLAG(MEMDUMPCOLS) + GMQCC_DEFINE_FLAG(MEMCHK) + GMQCC_DEFINE_FLAG(DUMPFIN) + GMQCC_DEFINE_FLAG(DUMP) + GMQCC_DEFINE_FLAG(FORCECRC) + GMQCC_DEFINE_FLAG(FORCED_CRC) + GMQCC_DEFINE_FLAG(PP_ONLY) + GMQCC_DEFINE_FLAG(MAX_ARRAY_SIZE) + GMQCC_DEFINE_FLAG(ADD_INFO) + GMQCC_DEFINE_FLAG(CORRECTION) + GMQCC_DEFINE_FLAG(STATISTICS) + GMQCC_DEFINE_FLAG(PROGSRC) #endif /* some cleanup so we don't have to */ #undef GMQCC_TYPE_FLAGS #undef GMQCC_TYPE_WARNS +#undef GMQCC_TYPE_OPTIONS +#undef GMQCC_TYPE_OPTIMIZATIONS #undef GMQCC_DEFINE_FLAG