optinfo.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 214 行

H
214
字号
/****************************************************************************
*
*                            Open Watcom Project
*
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
*  ========================================================================
*
*    This file contains Original Code and/or Modifications of Original
*    Code as defined in and that are subject to the Sybase Open Watcom
*    Public License version 1.0 (the 'License'). You may not use this file
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
*    provided with the Original Code and Modifications, and is also
*    available at www.sybase.com/developer/opensource.
*
*    The Original Code and all software distributed under the License are
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
*    NON-INFRINGEMENT. Please see the License for the specific language
*    governing rights and limitations under the License.
*
*  ========================================================================
*
* Description:  WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
*               DESCRIBE IT HERE!
*
****************************************************************************/

#include "compcfg.h"

opt_entry       CompOptns[] = {
#if defined( __WFL__ )
//                      Compile and Link Options
opt( "",           0,                CTG,         NULL,         NULL,       CL_CTG_COMPILE_AND_LINK ),
opt( "C",          0,                0,           NULL,         NULL,       CL_COMPILE_ONLY ),
opt( "Y",          0,                0,           NULL,         NULL,       CL_IGNORE_WFL ),
opt( "P",          0,                0,           NULL,         NULL,       CL_RUN_PROTECT ),
opt( "FM[=<fn>]",  0,                0,           NULL,         NULL,       CL_GENERATE_MAP ),
opt( "FE=<fn>",    0,                0,           NULL,         NULL,       CL_NAME_EXECUTABLE ),
opt( "FD[=<fn>]",  0,                0,           NULL,         NULL,       CL_KEEP_DIRECTIVE ),
opt( "FI=<fn>",    0,                0,           NULL,         NULL,       CL_INCLUDE_DIRECTIVE ),
#if _CPU == 8086
opt( "LP",         0,                0,           NULL,         NULL,       CL_LINK_FOR_OS2 ),
opt( "LR",         0,                0,           NULL,         NULL,       CL_LINK_FOR_DOS ),
#endif
opt( "L=<system>", 0,                0,           NULL,         NULL,       CL_LINK_FOR_SYSTEM ),
opt( "K=<n>",      0,                0,           NULL,         NULL,       CL_STACK_SIZE ),
opt( "\"<drctvs>\"", 0,              0,           NULL,         NULL,       CL_LINKER_DIRECTIVES ),
#endif
//                      File Management Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_FILE_MANAGEMENT ),
opt( "LISt",       OPT_LIST,         CMD|SRC,     NULL,         &BitOption, MS_OPT_LIST ),
opt( "PRint",      OPT_PRINT,        CMD,         NULL,         &BitOption, MS_OPT_PRINT ),
opt( "TYpe",       OPT_TYPE,         CMD,         NULL,         &BitOption, MS_OPT_TYPE ),
opt( "DIsk",       DISK_MASK,        CMD|NEG,     NULL,         &NegOption, MS_OPT_DISK ),
opt( "INCList",    OPT_INCLIST,      CMD,         NULL,         &BitOption, MS_OPT_INCLIST ),
opt( "ERrorfile",  OPT_ERRFILE,      CMD,         NULL,         &BitOption, MS_OPT_ERRFILE ),
opt( "INCPath",    OPT_INCPATH,      CMD|VAL,     &PathOption,  NULL,       MS_OPT_INCPATH ),
opt( "FO",         CGOPT_OBJ_NAME,   CMD|VAL|CG,  &FOOption,    NULL,       MS_CGOPT_OBJ_NAME ),
//                      Diagnostic Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_DIAGNOSTIC ),
opt( "EXtensions", OPT_EXT,          CMD|SRC,     NULL,         &BitOption, MS_OPT_EXT ),
opt( "Reference",  OPT_REFERENCE,    CMD|SRC,     NULL,         &BitOption, MS_OPT_REFERENCE ),
opt( "WArnings",   OPT_WARN,         CMD|SRC,     NULL,         &BitOption, MS_OPT_WARN ),
opt( "EXPlicit",   OPT_EXPLICIT,     CMD,         NULL,         &BitOption, MS_OPT_EXPLICIT ),
opt( "DEBug",      OPT_DEBUG,        CMD,         NULL,         &BitOption, MS_OPT_DEBUG ),
opt( "TRace",      OPT_TRACE,        CMD,         NULL,         &BitOption, MS_OPT_TRACE ),
opt( "BOunds",     OPT_BOUNDS,       CMD,         NULL,         &BitOption, MS_OPT_BOUNDS ),
opt( "STack",      CGOPT_STACK_CHK,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_STACK_CHK ),
//                      Debugging Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_DEBUGGING ),
opt( "D1",         CGOPT_DB_LINE,    CMD|CG,      NULL,         &CGOption,  MS_CGOPT_DB_LINE ),
opt( "D2",         CGOPT_DB_LOCALS,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_DB_LOCALS ),
opt( "HC",         CGOPT_DI_CV,      CMD|CG,      NULL,         &CGOption,  MS_CGOPT_DI_CV ),
opt( "HD",         CGOPT_DI_DWARF,   CMD|CG,      NULL,         &CGOption,  MS_CGOPT_DI_DWARF ),
opt( "HW",         CGOPT_DI_WATCOM,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_DI_WATCOM ),
//opt( "DB",       OPT_BROWSE,       CMD,         NULL,         &BitOption, MS_OPT_BROWSE ),
#if _CPU == 8086 || _CPU == 386
//                      Floating-Point Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_FPUOPTS ),
opt( "FPC",        CPUOPT_FPC,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FPC ),
opt( "FPI",        CPUOPT_FPI,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FPI ),
opt( "FPI87",      CPUOPT_FPI87,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FPI87 ),
opt( "FP2",        CPUOPT_FP287,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FP287 ),
opt( "FP3",        CPUOPT_FP387,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FP387 ),
opt( "FP5",        CPUOPT_FP5,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FP5 ),
opt( "FP6",        CPUOPT_FP6,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FP6 ),
opt( "FPR",        CPUOPT_FPR,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FPR ),
opt( "FPD",        CPUOPT_FPD,       CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_FPD ),
#endif
//                      Optimization Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_OPTIMIZATIONS ),
#if _CPU == 386
opt( "OB",         OZOPT_O_BASE_PTR, CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_BASE_PTR ),
#endif
opt( "OBP",        OZOPT_O_BRANCH_PREDICTION,
                                     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_BRANCH_PREDICTION ),
opt( "OC",         OZOPT_O_CALL_RET, CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_CALL_RET ),
opt( "OD",         OZOPT_O_DISABLE,  CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_DISABLE ),
#if _CPU == 386
opt( "OF",         OZOPT_O_FRAME,    CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_NEED_FRAME ),
#endif
opt( "OH",         OZOPT_O_SUPER_OPTIMAL,
                                     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_SUPER_OPTIMAL ),
opt( "OI",         OZOPT_O_INLINE,   CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_INLINE ),
opt( "OK",         OZOPT_O_FLOW_REG_SAVES,
                                     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_FLOW_REG_SAVES ),
opt( "OL",         OZOPT_O_LOOP,     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_LOOP ),
opt( "OL+",        OZOPT_O_UNROLL,   CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_UNROLL ),
#if COMP_CFG_CG_FPE
opt( "OLF",        OZOPT_O_LOOP_INVAR,
                                     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_LOOP_INVAR ),
#endif
opt( "OM",         OZOPT_O_MATH,     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_MATH ),
opt( "ON",         OZOPT_O_NUMERIC,  CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_NUMERIC ),
opt( "OP",         OZOPT_O_VOLATILE, CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_VOLATILE ),
opt( "OR",         OZOPT_O_INSSCHED, CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_INSSCHED ),
opt( "OS",         OZOPT_O_SPACE,    CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_SPACE ),
opt( "OT",         OZOPT_O_TIME,     CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_TIME ),
opt( "ODO",        OZOPT_O_FASTDO,   CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_FASTDO ),
opt( "OX",         OZOPT_O_X,        CMD|OZ,      NULL,         &OZOption,  MS_OZOPT_O_X ),
//                      Memory Models
#if _CPU == 8086 || _CPU == 386
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_MEMORY_MODELS ),
#if _CPU == 8086
opt( "MM",         CGOPT_M_MEDIUM,   CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_MEDIUM ),
opt( "ML",         CGOPT_M_LARGE,    CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_LARGE ),
opt( "MH",         CGOPT_M_HUGE,     CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_HUGE ),
#endif
#if _CPU == 386
opt( "MF",         CGOPT_M_FLAT,     CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_FLAT ),
opt( "MS",         CGOPT_M_SMALL,    CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_SMALL ),
opt( "MC",         CGOPT_M_COMPACT,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_COMPACT ),
opt( "MM",         CGOPT_M_MEDIUM,   CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_MEDIUM ),
opt( "ML",         CGOPT_M_LARGE,    CMD|CG,      NULL,         &CGOption,  MS_CGOPT_M_LARGE ),
#endif
//                      CPU Targets
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_CPU ),
#if _CPU == 8086
opt( "0",          CPUOPT_8086,      CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_8086 ),
opt( "1",          CPUOPT_80186,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80186 ),
opt( "2",          CPUOPT_80286,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80286 ),
#endif
opt( "3",          CPUOPT_80386,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80386 ),
opt( "4",          CPUOPT_80486,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80486 ),
opt( "5",          CPUOPT_80586,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80586 ),
opt( "6",          CPUOPT_80686,     CMD|CPU,     NULL,         &CPUOption, MS_CPUOPT_80686 ),
#endif
//                      Application Types
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_APPTYPE ),
opt( "BW",         CGOPT_BW,         CMD|CG,      NULL,         &CGOption,  MS_CGOPT_BW ),
#if _CPU == 386 || _CPU == _AXP || _CPU == _PPC
opt( "BM",         CGOPT_BM,         CMD|CG,      NULL,         &CGOption,  MS_CGOPT_BM ),
opt( "BD",         CGOPT_BD,         CMD|CG,      NULL,         &CGOption,  MS_CGOPT_BD ),
#endif
#if _CPU == 386 || _CPU == 8086
opt( "WINdows",    CGOPT_WINDOWS,    CMD|CG,      NULL,         &CGOption,  MS_CGOPT_WINDOWS ),
#endif
//                      Character Set Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_DBCS ),
opt( "CHInese",    OPT_CHINESE,      CMD,         NULL,         &ChiOption, MS_OPT_CHINESE ),
opt( "Japanese",   OPT_JAPANESE,     CMD,         NULL,         &JapOption, MS_OPT_JAPANESE ),
opt( "KOrean",     OPT_KOREAN,       CMD,         NULL,         &KorOption, MS_OPT_KOREAN ),
//                      Miscellaneous Options
opt( "",           0,                CTG,         NULL,         NULL,       MS_CTG_MISC ),
opt( "SHort",      OPT_SHORT,        CMD,         NULL,         &BitOption, MS_OPT_SHORT ),
opt( "XFloat",     OPT_EXTEND_REAL,  CMD,         NULL,         &BitOption, MS_OPT_EXTEND_REAL ),
opt( "XLine",      OPT_XLINE,        CMD,         NULL,         &XLOption,  MS_OPT_XLINE ),
opt( "DEFine",     OPT_DEFINE,       CMD|VAL,     &DefOption,   NULL,       MS_OPT_DEFINE ),
opt( "FORmat",     OPT_EXTEND_FORMAT,CMD,         NULL,         &BitOption, MS_OPT_EXTEND_FORMAT ),
opt( "WILd",       OPT_WILD,         CMD,         NULL,         &BitOption, MS_OPT_WILD ),
opt( "TErminal",   OPT_TERM,         CMD,         NULL,         &BitOption, MS_OPT_TERM ),
opt( "Quiet",      OPT_QUIET,        CMD,         NULL,         &BitOption, MS_OPT_QUIET ),
opt( "RESources",  OPT_RESOURCES,    CMD,         NULL,         &BitOption, MS_OPT_RESOURCES ),
opt( "CC",         OPT_UNIT_6_CC,    CMD,         NULL,         &BitOption, MS_OPT_UNIT_6_CC ),
opt( "LFwithff",   OPT_LF_WITH_FF,   CMD,         NULL,         &BitOption, MS_OPT_LF_WITH_FF ),
opt( "DEPendency", OPT_DEPENDENCY,   CMD,         NULL,         &BitOption, MS_OPT_DEPENDENCY ),
#if _CPU == 8086 || _CPU == 386
opt( "SR",         CGOPT_SEG_REGS,   CMD|CG,      NULL,         &CGOption,  MS_CGOPT_SEG_REGS ),
opt( "FSfloats",   CGOPT_FS_FLOATS,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_FS_FLOATS ),
opt( "GSfloats",   CGOPT_GS_FLOATS,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_GS_FLOATS ),
#endif
#if _CPU == 8086
opt( "SSfloats",   CGOPT_SS_FLOATS,  CMD|CG,      NULL,         &CGOption,  MS_CGOPT_SS_FLOATS ),
#endif
#if _CPU == 386
opt( "SC",         CGOPT_STK_ARGS,   CMD|CG,      NULL,         &CGOption,  MS_CGOPT_STK_ARGS ),
opt( "EZ",         CGOPT_EZ_OMF,     CMD|CG,      NULL,         &CGOption,  MS_CGOPT_EZ_OMF ),
opt( "SG",         CGOPT_STACK_GROW, CMD|CG,      NULL,         &CGOption,  MS_CGOPT_STACK_GROW ),
#endif
opt( "SYntax",     OPT_SYNTAX,       CMD,         NULL,         &BitOption, MS_OPT_SYNTAX ),
opt( "LIBinfo",    OPT_DFLT_LIB,     CMD,         NULL,         &BitOption, MS_OPT_DFLT_LIB ),
opt( "DT",         CGOPT_DATA_THRESH,CMD|VAL|CG,  &DTOption,    NULL,       MS_CGOPT_DATA_THRESH ),
opt( "AUtomatic",  OPT_AUTOMATIC,    CMD,         NULL,         &BitOption, MS_OPT_AUTOMATIC ),
opt( "DEScriptor", OPT_DESCRIPTOR,   CMD,         NULL,         &BitOption, MS_OPT_DESCRIPTOR ),
opt( "SAve",       OPT_SAVE,         CMD,         NULL,         &BitOption, MS_OPT_SAVE ),
#if _CPU == 386 || _CPU == 8086
opt( "COde",       CGOPT_CONST_CODE, CMD|CG,      NULL,         &CGOption,  MS_CGOPT_CONST_CODE ),
#endif
opt( "ALign",      CGOPT_ALIGN,      CMD|CG,      NULL,         &CGOption,  MS_CGOPT_ALIGN ),
opt( "MAngle",     CGOPT_MANGLE,     CMD|CG,      NULL,         &CGOption,  MS_CGOPT_MANGLE ),
opt( "IPromote",   OPT_PROMOTE,      CMD,         NULL,         &BitOption, MS_OPT_PROMOTE ),
opt( "SEpcomma",   OPT_COMMA_SEP,    CMD,         NULL,         &BitOption, MS_OPT_COMMA_SEP ),
#if _CPU == _AXP || _CPU == _PPC
opt( "LGA",        CGOPT_GENASM,      CMD|CG,     NULL,         &CGOption,  0 ),
opt( "LGO",        CGOPT_LOGOWL,      CMD|CG,     NULL,         &CGOption,  0 ),
#endif
opt( "LGC",        CGOPT_ECHOAPI,     CMD|CG,     NULL,         &CGOption,  0 ),
opt( NULL,         0,                0,           NULL,         NULL,       0 )
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?