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 + -
显示快捷键?