X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=opts.def;h=2dc4fb77cd9d8a38d3fa15422ce74b38bde3e7e2;hp=0b4af5b06a7abb402cb9a607eb5c0ce75a3c22c9;hb=f84c8ea62922f20b13e54916fac849ade0886b66;hpb=46892daa3ad6ad98706abfb00ea947658dca3aa7 diff --git a/opts.def b/opts.def index 0b4af5b..2dc4fb7 100644 --- a/opts.def +++ b/opts.def @@ -1,32 +1,5 @@ -/* - * Copyright (C) 2012, 2013 - * Wolfgang Bumiller - * Dale Weiler - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ #ifndef GMQCC_DEFINE_FLAG -# ifdef GMQCC_TYPE_OPTIMIZATIONS -# define GMQCC_DEFINE_FLAG(X, Y, Z) -# else -# define GMQCC_DEFINE_FLAG(X, Y) -# endif /* !GMQCC_TYPE_OPTIMIZATIONS */ +# error "bad opts.def usage" #endif /* codegen flags */ @@ -35,6 +8,8 @@ GMQCC_DEFINE_FLAG(ADJUST_VECTOR_FIELDS) GMQCC_DEFINE_FLAG(FTEPP) GMQCC_DEFINE_FLAG(FTEPP_PREDEFS) + GMQCC_DEFINE_FLAG(FTEPP_MATHDEFS) + GMQCC_DEFINE_FLAG(FTEPP_INDIRECT_EXPANSION) GMQCC_DEFINE_FLAG(RELAXED_SWITCH) GMQCC_DEFINE_FLAG(SHORT_LOGIC) GMQCC_DEFINE_FLAG(PERL_LOGIC) @@ -54,6 +29,14 @@ GMQCC_DEFINE_FLAG(PERMISSIVE) 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) + GMQCC_DEFINE_FLAG(EMULATE_STATE) + GMQCC_DEFINE_FLAG(ARITHMETIC_EXCEPTIONS) + GMQCC_DEFINE_FLAG(SPLIT_VECTOR_PARAMETERS) #endif /* warning flags */ @@ -61,6 +44,7 @@ GMQCC_DEFINE_FLAG(UNINITIALIZED_GLOBAL) GMQCC_DEFINE_FLAG(DEBUG) GMQCC_DEFINE_FLAG(UNUSED_VARIABLE) + GMQCC_DEFINE_FLAG(UNUSED_COMPONENT) GMQCC_DEFINE_FLAG(USED_UNINITIALIZED) GMQCC_DEFINE_FLAG(UNKNOWN_CONTROL_SEQUENCE) GMQCC_DEFINE_FLAG(EXTENSIONS) @@ -91,6 +75,12 @@ 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) + GMQCC_DEFINE_FLAG(INEXACT_COMPARES) #endif #ifdef GMQCC_TYPE_OPTIMIZATIONS @@ -104,6 +94,8 @@ 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 @@ -113,7 +105,6 @@ GMQCC_DEFINE_FLAG(G) GMQCC_DEFINE_FLAG(STANDARD) GMQCC_DEFINE_FLAG(DEBUG) - GMQCC_DEFINE_FLAG(MEMCHK) GMQCC_DEFINE_FLAG(DUMPFIN) GMQCC_DEFINE_FLAG(DUMP) GMQCC_DEFINE_FLAG(FORCECRC) @@ -121,7 +112,9 @@ GMQCC_DEFINE_FLAG(PP_ONLY) GMQCC_DEFINE_FLAG(MAX_ARRAY_SIZE) GMQCC_DEFINE_FLAG(ADD_INFO) - GMQCC_DEFINE_FLAG(CORRECTION) + GMQCC_DEFINE_FLAG(PROGSRC) + GMQCC_DEFINE_FLAG(COVERAGE) + GMQCC_DEFINE_FLAG(STATE_FPS) #endif /* some cleanup so we don't have to */