compflag.h

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

H
338
字号
/****************************************************************************
*
*                            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:  This file contains the structure definition for the global
*               compiler flags. The flags (CompFlags) are defined in
*               plusplus.h
*
****************************************************************************/

#ifndef _COMPFLAG_H_
#define _COMPFLAG_H_

typedef struct comp_flags {
/*****************************************************************************
//                                                                          //
//  execution status flags                                                  //
//                                                                          //
*****************************************************************************/
/*  00 */
    unsigned float_used             : 1;
    unsigned stats_printed          : 1;
    unsigned low_on_memory_printed  : 1;
    unsigned external_defn_found    : 1;
    unsigned scanning_c_comment     : 1;    // scanning ANSI style (/**/) comment
    unsigned srcfile_compiled       : 1;    // source file has been compiled
    unsigned errfile_opened         : 1;    // error file has been opened
    unsigned errfile_written        : 1;    // something has been written
/*  08  */
    unsigned main_has_parms         : 1;    /* on if "main" has parm(s) */
    unsigned pgm_used_8087          : 1;    /* on => 8087 ins. generated */
    unsigned banner_printed         : 1;    /* on => banner printed      */
    unsigned cppi_segment_used      : 1;    /* C++ initializer segment */
    unsigned rescan_buffer_done     : 1;    /* ## re-scan buffer used up */
    unsigned has_winmain            : 1;    // WinMain() is defined
    unsigned has_libmain            : 1;    // LibMain() is defined
    unsigned has_dllmain            : 1;    // DllMain() is defined
/*  16  */
    unsigned has_main               : 1;    // main() is defined
    unsigned has_longjmp            : 1;    // has longjmp reference
    unsigned extern_C_defn_found    : 1;    // something was declared as "C"
    unsigned inline_intrinsics      : 1;    // inline intrinsic fns
    unsigned scanning_cpp_comment   : 1;    // scanning a C++ style comment
    unsigned pragma_library         : 1;    // on => behave as if main seen
    unsigned parsing_finished       : 1;    // program has been completely parsed
    unsigned genned_static_dtor     : 1;    // genned DTOR of static var.
/*  24  */
    unsigned inline_fun_reg         : 1;    // inline func. registration gen'ed
    unsigned fatal_error            : 1;    // fatal error has occured
    unsigned codegen_active         : 1;    // code generator is active
    unsigned dt_method_pragma       : 1;    // pragma destruct encountered
    unsigned dll_subsequent         : 1;    // DLL called second time thru
    unsigned dll_active             : 1;    // DLL version of compiler
    unsigned compile_failed         : 1;    // compilation failed
    unsigned cmdline_error          : 1;    // error in cmd line
/*  32  */
    unsigned watch_for_pcheader     : 1;    // watch for first #include
    unsigned pch_debug_info_write   : 1;    // writing dbg info into PCH
    unsigned pch_debug_info_read    : 1;    // reading dbg info from PCH
    unsigned batch_file_primary     : 1;    // batch file found: primary scan
    unsigned batch_file_processing  : 1;    // processing the batch file
    unsigned batch_file_eof         : 1;    // EOF on the batch file
    unsigned batch_file_continue    : 1;    // continue on errors
    unsigned in_pragma              : 1;    // scanning in a #pragma
/*  40 */
    unsigned ide_cmd_line           : 1;    // ide command line ok as is
    unsigned ide_console_output     : 1;    // ide doing output to console
    unsigned use_macro_tokens       : 1;    // macro expansion is token source
    unsigned log_note_msgs          : 1;    // on ==> NOTE_MSGs to error file
    unsigned has_wide_char_main     : 1;    // has wide char version of "main" fn
    unsigned vfun_reference_done    : 1;    // extrf: -zv record generated
    unsigned namespace_checks_done  : 1;    // namespace ref/def checks done

    //  don't add options here; these are flags that represent the status
    //  during execution
    //  Add options at offset 80 or greater (the number is not significant in any way!
    unsigned filler00               : 1;
/*  48 */
    unsigned filler01               : 1;
    unsigned filler02               : 1;
    unsigned filler03               : 1;
    unsigned filler04               : 1;
    unsigned filler05               : 1;
    unsigned filler06               : 1;
    unsigned filler07               : 1;
    unsigned filler08               : 1;
/*  56  */
    unsigned filler09               : 1;
    unsigned filler10               : 1;
    unsigned filler11               : 1;
    unsigned filler12               : 1;
    unsigned filler13               : 1;
    unsigned filler14               : 1;
    unsigned filler15               : 1;
    unsigned filler16               : 1;

/*****************************************************************************
//                                                                          //
// Command Line Option flags                                                //
//                                                                          //
*****************************************************************************/
/*****************************************************************************
//                                                                          //
// 'dbg' target flags                                                       //
//                                                                          //
*****************************************************************************/

/*  64  */
    unsigned extra_stats_wanted     : 1;

    unsigned dbgfiller00            : 1;
    unsigned dbgfiller01            : 1;
    unsigned dbgfiller02            : 1;
    unsigned dbgfiller03            : 1;
    unsigned dbgfiller04            : 1;
    unsigned dbgfiller05            : 1;
    unsigned dbgfiller06            : 1;
/*  72  */
    unsigned dbgfiller07            : 1;
    unsigned dbgfiller08            : 1;
    unsigned dbgfiller09            : 1;
    unsigned dbgfiller10            : 1;
    unsigned dbgfiller11            : 1;
    unsigned dbgfiller12            : 1;
    unsigned dbgfiller13            : 1;
    unsigned dbgfiller14            : 1;

/*****************************************************************************
//                                                                          //
//  'any' target flags                                                      //
//                                                                          //
*****************************************************************************/
/*  80  */
    unsigned signed_char            : 1;
    unsigned check_syntax           : 1;
    unsigned extensions_enabled     : 1;
    unsigned inline_functions       : 1;    // inline user def'd 'inline' fns
    unsigned dump_prototypes        : 1;    // output prototypes into .DEF file
    unsigned use_base_types         : 1;    // use base types in .DEF protos
    unsigned quiet_mode             : 1;
    unsigned keep_comments          : 1;    // wcpp - output comments
/*  88  */
    unsigned emit_library_names     : 1;    // on => put LIB name in obj
    unsigned comments_wanted        : 1;    // on => comments wanted
    unsigned undefine_all_macros    : 1;    // on => -u all macros
    unsigned cpp_line_wanted        : 1;    // wcpp - emit #line
    unsigned cpp_ignore_line        : 1;    /* wcpp - ignore #line */

⌨️ 快捷键说明

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