GCC Middle and Back End API Reference
flag-types.h File Reference

Go to the source code of this file.

Enumerations

enum  debug_info_type {
  NO_DEBUG, DBX_DEBUG, SDB_DEBUG, DWARF2_DEBUG,
  XCOFF_DEBUG, VMS_DEBUG, VMS_AND_DWARF2_DEBUG
}
enum  debug_info_levels { DINFO_LEVEL_NONE, DINFO_LEVEL_TERSE, DINFO_LEVEL_NORMAL, DINFO_LEVEL_VERBOSE }
enum  debug_info_usage { DINFO_USAGE_DFN, DINFO_USAGE_DIR_USE, DINFO_USAGE_IND_USE, DINFO_USAGE_NUM_ENUMS }
enum  debug_struct_file { DINFO_STRUCT_FILE_NONE, DINFO_STRUCT_FILE_BASE, DINFO_STRUCT_FILE_SYS, DINFO_STRUCT_FILE_ANY }
enum  symbol_visibility {
  VISIBILITY_DEFAULT, VISIBILITY_PROTECTED, VISIBILITY_HIDDEN, VISIBILITY_INTERNAL,
  VISIBILITY_DEFAULT, VISIBILITY_PROTECTED, VISIBILITY_HIDDEN, VISIBILITY_INTERNAL
}
enum  stack_reuse_level { SR_NONE, SR_NAMED_VARS, SR_ALL }
enum  ira_algorithm { IRA_ALGORITHM_CB, IRA_ALGORITHM_PRIORITY }
enum  ira_region { IRA_REGION_ONE, IRA_REGION_ALL, IRA_REGION_MIXED, IRA_REGION_AUTODETECT }
enum  excess_precision { EXCESS_PRECISION_DEFAULT, EXCESS_PRECISION_FAST, EXCESS_PRECISION_STANDARD }
enum  stack_check_type { NO_STACK_CHECK = 0, GENERIC_STACK_CHECK, STATIC_BUILTIN_STACK_CHECK, FULL_BUILTIN_STACK_CHECK }
enum  warn_strict_overflow_code {
  WARN_STRICT_OVERFLOW_ALL = 1, WARN_STRICT_OVERFLOW_CONDITIONAL = 2, WARN_STRICT_OVERFLOW_COMPARISON = 3, WARN_STRICT_OVERFLOW_MISC = 4,
  WARN_STRICT_OVERFLOW_MAGNITUDE = 5
}
enum  fp_contract_mode { FP_CONTRACT_OFF = 0, FP_CONTRACT_ON = 1, FP_CONTRACT_FAST = 2 }
enum  vect_cost_model { VECT_COST_MODEL_UNLIMITED = 0, VECT_COST_MODEL_CHEAP = 1, VECT_COST_MODEL_DYNAMIC = 2, VECT_COST_MODEL_DEFAULT = 3 }
enum  sanitize_code {
  SANITIZE_ADDRESS = 1 << 0, SANITIZE_THREAD = 1 << 1, SANITIZE_SHIFT = 1 << 2, SANITIZE_DIVIDE = 1 << 3,
  SANITIZE_UNREACHABLE = 1 << 4, SANITIZE_UNDEFINED = SANITIZE_SHIFT | SANITIZE_DIVIDE | SANITIZE_UNREACHABLE
}
enum  vtv_priority { VTV_NO_PRIORITY = 0, VTV_STANDARD_PRIORITY = 1, VTV_PREINIT_PRIORITY = 2 }

Enumeration Type Documentation

Enumerator:
DINFO_LEVEL_NONE 
DINFO_LEVEL_TERSE 
DINFO_LEVEL_NORMAL 
DINFO_LEVEL_VERBOSE 
Enumerator:
NO_DEBUG 
DBX_DEBUG 
SDB_DEBUG 
DWARF2_DEBUG 
XCOFF_DEBUG 
VMS_DEBUG 
VMS_AND_DWARF2_DEBUG 
   A major contribution to object and executable size is debug
   information size.  A major contribution to debug information
   size is struct descriptions replicated in several object files.
   The following function determines whether or not debug information
   should be generated for a given struct.  The indirect parameter
   indicates that the struct is being handled indirectly, via
   a pointer.  See opts.c for the implementation. 
Enumerator:
DINFO_USAGE_DFN 
DINFO_USAGE_DIR_USE 
DINFO_USAGE_IND_USE 
DINFO_USAGE_NUM_ENUMS 
   A major contribution to object and executable size is debug
   information size.  A major contribution to debug information size
   is struct descriptions replicated in several object files. The
   following flags attempt to reduce this information.  The basic
   idea is to not emit struct debugging information in the current
   compilation unit when that information will be generated by
   another compilation unit.

   Debug information for a struct defined in the current source
   file should be generated in the object file.  Likewise the
   debug information for a struct defined in a header should be
   generated in the object file of the corresponding source file.
   Both of these case are handled when the base name of the file of
   the struct definition matches the base name of the source file
   of the current compilation unit.  This matching emits minimal
   struct debugging information.

   The base file name matching rule above will fail to emit debug
   information for structs defined in system headers.  So a second
   category of files includes system headers in addition to files
   with matching bases.

   The remaining types of files are library headers and application
   headers.  We cannot currently distinguish these two types.  
Enumerator:
DINFO_STRUCT_FILE_NONE 
DINFO_STRUCT_FILE_BASE 
DINFO_STRUCT_FILE_SYS 
DINFO_STRUCT_FILE_ANY 
   The options for excess precision.  
Enumerator:
EXCESS_PRECISION_DEFAULT 
EXCESS_PRECISION_FAST 
EXCESS_PRECISION_STANDARD 
   Floating-point contraction mode.  
Enumerator:
FP_CONTRACT_OFF 
FP_CONTRACT_ON 
FP_CONTRACT_FAST 
   The algorithm used for the integrated register allocator (IRA).  
Enumerator:
IRA_ALGORITHM_CB 
IRA_ALGORITHM_PRIORITY 
enum ira_region
   The regions used for the integrated register allocator (IRA).  
Enumerator:
IRA_REGION_ONE 
IRA_REGION_ALL 
IRA_REGION_MIXED 
IRA_REGION_AUTODETECT 
     This value means that there were no options -fira-region on the
     command line and that we should choose a value depending on the
     used -O option.  
   Different instrumentation modes.  
Enumerator:
SANITIZE_ADDRESS 
     AddressSanitizer.  
SANITIZE_THREAD 
     ThreadSanitizer.  
SANITIZE_SHIFT 
     UndefinedBehaviorSanitizer.  
SANITIZE_DIVIDE 
SANITIZE_UNREACHABLE 
SANITIZE_UNDEFINED 
   Type of stack check.  
Enumerator:
NO_STACK_CHECK 
     Do not check the stack.  
GENERIC_STACK_CHECK 
     Check the stack generically, i.e. assume no specific support
     from the target configuration files.  
STATIC_BUILTIN_STACK_CHECK 
     Check the stack and rely on the target configuration files to
     check the static frame of functions, i.e. use the generic
     mechanism only for dynamic stack allocations.  
FULL_BUILTIN_STACK_CHECK 
     Check the stack and entirely rely on the target configuration
     files, i.e. do not use the generic mechanism at all.  
   The stack reuse level.  
Enumerator:
SR_NONE 
SR_NAMED_VARS 
SR_ALL 
   Enumerate visibility settings.  This is deliberately ordered from most
   to least visibility.  
Enumerator:
VISIBILITY_DEFAULT 
VISIBILITY_PROTECTED 
VISIBILITY_HIDDEN 
VISIBILITY_INTERNAL 
VISIBILITY_DEFAULT 
VISIBILITY_PROTECTED 
VISIBILITY_HIDDEN 
VISIBILITY_INTERNAL 
   Vectorizer cost-model.  
Enumerator:
VECT_COST_MODEL_UNLIMITED 
VECT_COST_MODEL_CHEAP 
VECT_COST_MODEL_DYNAMIC 
VECT_COST_MODEL_DEFAULT 
   flag_vtable_verify initialization levels. 
Enumerator:
VTV_NO_PRIORITY 
VTV_STANDARD_PRIORITY 
VTV_PREINIT_PRIORITY 
   Names for the different levels of -Wstrict-overflow=N.  The numeric
   values here correspond to N.  
Enumerator:
WARN_STRICT_OVERFLOW_ALL 
     Overflow warning that should be issued with -Wall: a questionable
     construct that is easy to avoid even when using macros.  Example:
     folding (x + CONSTANT > x) to 1.  
WARN_STRICT_OVERFLOW_CONDITIONAL 
     Overflow warning about folding a comparison to a constant because
     of undefined signed overflow, other than cases covered by
     WARN_STRICT_OVERFLOW_ALL.  Example: folding (abs (x) >= 0) to 1
     (this is false when x == INT_MIN).  
WARN_STRICT_OVERFLOW_COMPARISON 
     Overflow warning about changes to comparisons other than folding
     them to a constant.  Example: folding (x + 1 > 1) to (x > 0).  
WARN_STRICT_OVERFLOW_MISC 
     Overflow warnings not covered by the above cases.  Example:
     folding ((x * 10) / 5) to (x * 2).  
WARN_STRICT_OVERFLOW_MAGNITUDE 
     Overflow warnings about reducing magnitude of constants in
     comparison.  Example: folding (x + 2 > y) to (x + 1 >= y).