compflag.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 338 行 · 第 1/2 页

H
338
字号
    unsigned cpp_output             : 1;    // WCC doing CPP output
    unsigned cpp_output_to_file     : 1;    // WCC doing CPP output to?.i
    unsigned cpp_output_requested   : 1;
/*  96  */
    unsigned no_debug_type_names    : 1;
    unsigned emit_names             : 1;
    unsigned warnings_cause_bad_exit: 1;
    unsigned use_unicode            : 1;
    unsigned unique_functions       : 1;
    unsigned jis_to_unicode         : 1;
    unsigned emit_dependencies      : 1;
    unsigned emit_targimp_symbols   : 1;    // Insert target specific import symbols
/*  104 */
    unsigned emit_browser_info      : 1;
    unsigned excs_enabled           : 1;    // exceptions enabled
    unsigned rtti_enabled           : 1;    // RTTI enabled
    unsigned extended_defines       : 1;    // -d swallows many tokens
    unsigned virtual_stripping      : 1;    // enable virtual stripping
    unsigned returns_promoted       : 1;    // promote arg,return to int
    unsigned all_debug_type_names   : 1;
    unsigned fhw_switch_used        : 1;
/*  112 */
    unsigned fhr_switch_used        : 1;
    unsigned modifier_bind_compatibility:1; // bind modifiers into generic types
    unsigned prototype_instantiate  : 1;    // instantiate fn prototypes if possible
    unsigned encrypt_preproc_output : 1;    // try to encrypt compiler output
    unsigned check_truncated_fnames : 1;    // if can't find file, check 8.3
    unsigned make_enums_an_int      : 1;    // don't overly optimize enum storage
    unsigned use_pcheaders          : 1;    // pre-compiled headers are active
    unsigned no_pch_warnings        : 1;    // don't explain PCH activity
/*  120 */
    unsigned pch_debug_info_opt     : 1;    // optimize dbg info in PCH
    unsigned pch_min_check          : 1;    // assume PCH header files haven't changed
    unsigned bd_switch_used         : 1;
    unsigned bm_switch_used         : 1;
    unsigned bw_switch_used         : 1;
    unsigned ee_switch_used         : 1;
    unsigned ep_switch_used         : 1;
    unsigned eq_switch_used         : 1;
/*  128 */
    unsigned ew_switch_used         : 1;
    unsigned op_switch_used         : 1;
    unsigned br_switch_used         : 1;
    unsigned rw_registration        : 1;    // RW-centric function registration
    unsigned original_enum_setting  : 1;    // original -ei setting
    unsigned ignore_environment     : 1;    // don't process WPP* and INCLUDE
    unsigned ignore_current_dir     : 1;    // ignore current dir for include search
    unsigned progress_messages      : 1;    // output msgs as compile progresses
/*  136 */
    unsigned no_error_sym_injection : 1;    // don't insert error symbols
    unsigned error_use_full         : 1;    // use full path names in error msgs
    unsigned vc_alloca_parm         : 1;    // allow alloca to occur in parms
    unsigned emit_default_libs      : 1;    // emit default libs in .OBJ file
    unsigned bc_switch_used         : 1;    // building a console app
    unsigned bg_switch_used         : 1;    // building a GUI app
    unsigned optbr_v                : 1;    // browse: variables
    unsigned optbr_f                : 1;    // browse: functions
/*  144 */
    unsigned optbr_t                : 1;    // browse: types
    unsigned optbr_m                : 1;    // browse: data members
    unsigned optbr_p                : 1;    // browse: preprocessor macros
    unsigned static_inline_fns      : 1;    // emit inline fns in normal code seg
    unsigned fhwe_switch_used       : 1;    // display but don't treat as errors
    unsigned warn_about_padding     : 1;    // warn when padding is added

    unsigned overload_13332         : 1;    // implement WP 13.3.3.2 better
    unsigned line_comments          : 1;    // output // #line instead of #line
/*  152 */
    unsigned dont_align_segs        : 1;    // bug fix: don't align segments
    unsigned fixed_name_mangling    : 1;    // bug fix: name mangling
    unsigned plain_char_promotion   : 1;    // char -> int rvalue promotion warning
    unsigned obfuscate_typesig_names: 1;    // mangle type sig names
    unsigned dont_autogen_ext_inc   : 1;    // don't convert #include <string> to <string.h> or <string.hpp>
    unsigned dont_autogen_ext_src   : 1;
    unsigned use_old_for_scope      : 1;
    unsigned no_alternative_tokens  : 1;    // disable alternative tokens
/*  160 */
    unsigned enable_std0x           : 1;    // enable some C++0x features
    

/*****************************************************************************
//                                                                          //
// 'i86' '386' target flags
//                                                                          //
*****************************************************************************/
    unsigned register_conventions   : 1;    // on for -3r, off for -3s
    unsigned strings_in_code_segment: 1;    // on => put strings in CODE
    unsigned save_restore_segregs   : 1;    // save/restore segment regs
    unsigned target_multi_thread    : 1;    // multiple execution threads
    unsigned use_stdcall_at_number  : 1;    // mangle __stdcall names as "_*@n"
    unsigned fs_registration        : 1;    // using fs for function registration
    unsigned sg_switch_used         : 1;
/*  168 */
    unsigned st_switch_used         : 1;
    unsigned zc_switch_used         : 1;
    unsigned zm_switch_used         : 1;
    unsigned zmf_switch_used        : 1;
    unsigned zo_switch_used         : 1;
    unsigned zu_switch_used         : 1;
    unsigned zx_switch_used         : 1;
    unsigned mfi_switch_used        : 1;    // flat model interrupts (ss stays same)

/*  176 */
    unsigned i86filler00            : 1;
    unsigned i86filler01            : 1;
    unsigned i86filler02            : 1;
    unsigned i86filler03            : 1;
    unsigned i86filler04            : 1;
    unsigned i86filler05            : 1;
    unsigned i86filler06            : 1;
    unsigned i86filler07            : 1;
/* 184 */
    unsigned i86filler08            : 1;

    unsigned generate_auto_depend   : 1;
} COMP_FLAGS;

#ifdef OPT_BR
    #define BrinfActive() (     \
        CompFlags.optbr_v ||    \
        CompFlags.optbr_f ||    \
        CompFlags.optbr_t ||    \
        CompFlags.optbr_m ||    \
        CompFlags.optbr_p       \
        )
#endif

typedef enum                            // DTM -- destruction method
{   DTM_DIRECT                          // - direct calls
,   DTM_DIRECT_TABLE                    // - direct calls + table
,   DTM_DIRECT_SMALL                    // - direct calls + smallness
,   DTM_TABLE                           // - table
,   DTM_TABLE_SMALL                     // - table + smallness
,   DTM_COUNT                           // number of methods
} DT_METHOD;

typedef struct                          // DLL_DATA -- data for DLL
{   void (*print_str)( char const* );   // - print: string
    void (*print_chr)( char );          // - print: character
    void (*print_line)( char const* );  // - print: line
    char *cmd_line;                     // - command line
    int argc;                           // - argc/argv command line
    char **argv;
} DLL_DATA;

#pragma pack(push,4);
struct comp_info {                      // Compiler information
    TYPE        ptr_diff_near;          // - type from near ptr subtraction
    TYPE        ptr_diff_far;           // - type from far ptr subtraction
    TYPE        ptr_diff_far16;         // - type from far16 ptr subtraction
    TYPE        ptr_diff_huge;          // - type from huge ptr subtraction
    uint_8      init_priority;          // - initialization priority
    DT_METHOD   dt_method;              // - destruction method
    DT_METHOD   dt_method_speced;       // - specified destruction method
    unsigned    :0;                     // - alignment
    DLL_DATA*   dll_data;               // - data for DLL
    void*       exit_jmpbuf;            // - jmpbuf for DLL exit
    void*       dll_handle;             // - dll handle
    void*       dll_callbacks;          // - dll call backs
    int         compfile_max;           // - max # files to compile
    int         compfile_cur;           // - current # of file to compile
    void*       primary_srcfile;        // - SRCFILE for primary file
    unsigned    fc_file_line;           // - line # in -fc file
    char*       pch_buff_cursor;        // - PCH read: buffer cursor
    char*       pch_buff_end;           // - PCH read: end of buffer
};
#pragma pack(pop);
#endif

⌨️ 快捷键说明

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