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

Go to the source code of this file.

Namespaces

namespace  zero_regs_flags
 

Macros

#define NO_DEBUG   (0U)
 
#define DWARF2_DEBUG   (1U << DINFO_TYPE_DWARF2)
 
#define VMS_DEBUG   (1U << DINFO_TYPE_VMS)
 
#define CTF_DEBUG   (1U << DINFO_TYPE_CTF)
 
#define BTF_DEBUG   (1U << DINFO_TYPE_BTF)
 
#define CODEVIEW_DEBUG   (1U << DINFO_TYPE_CODEVIEW)
 
#define BTF_WITH_CORE_DEBUG   (1U << DINFO_TYPE_BTF_WITH_CORE)
 
#define VMS_AND_DWARF2_DEBUG   ((VMS_DEBUG | DWARF2_DEBUG))
 
#define GFC_INL_INTR_VAL(idx)
 
#define GFC_INL_INTR_UNSET_VAL(val)
 

Enumerations

enum  debug_info_type {
  DINFO_TYPE_NONE , DINFO_TYPE_DWARF2 , DINFO_TYPE_VMS , DINFO_TYPE_CTF ,
  DINFO_TYPE_BTF , DINFO_TYPE_CODEVIEW , DINFO_TYPE_BTF_WITH_CORE , DINFO_TYPE_MAX = DINFO_TYPE_BTF_WITH_CORE
}
 
enum  debug_info_levels { DINFO_LEVEL_NONE , DINFO_LEVEL_TERSE , DINFO_LEVEL_NORMAL , DINFO_LEVEL_VERBOSE }
 
enum  ctf_debug_info_levels { CTFINFO_LEVEL_NONE = 0 , CTFINFO_LEVEL_TERSE = 1 , CTFINFO_LEVEL_NORMAL = 2 }
 
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  dwarf_gnat_encodings { DWARF_GNAT_ENCODINGS_ALL = 0 , DWARF_GNAT_ENCODINGS_GDB = 1 , DWARF_GNAT_ENCODINGS_MINIMAL = 2 }
 
enum  ivar_visibility { IVAR_VISIBILITY_PRIVATE , IVAR_VISIBILITY_PROTECTED , IVAR_VISIBILITY_PUBLIC , IVAR_VISIBILITY_PACKAGE }
 
enum  stack_reuse_level { SR_NONE , SR_NAMED_VARS , SR_ALL }
 
enum  hardcfr_noret {
  HCFRNR_NEVER , HCFRNR_NOTHROW , HCFRNR_NO_XTHROW , HCFRNR_UNSPECIFIED ,
  HCFRNR_ALWAYS
}
 
enum  live_patching_level { LIVE_PATCHING_NONE = 0 , LIVE_PATCHING_INLINE_ONLY_STATIC , LIVE_PATCHING_INLINE_CLONE }
 
enum  reorder_blocks_algorithm { REORDER_BLOCKS_ALGORITHM_SIMPLE , REORDER_BLOCKS_ALGORITHM_STC }
 
enum  ira_algorithm { IRA_ALGORITHM_CB , IRA_ALGORITHM_PRIORITY }
 
enum  ira_region { IRA_REGION_ONE , IRA_REGION_ALL , IRA_REGION_MIXED }
 
enum  excess_precision { EXCESS_PRECISION_DEFAULT , EXCESS_PRECISION_FAST , EXCESS_PRECISION_STANDARD , EXCESS_PRECISION_FLOAT16 }
 
enum  permitted_flt_eval_methods { PERMITTED_FLT_EVAL_METHODS_DEFAULT , PERMITTED_FLT_EVAL_METHODS_TS_18661 , PERMITTED_FLT_EVAL_METHODS_C11 }
 
enum  stack_check_type { NO_STACK_CHECK = 0 , GENERIC_STACK_CHECK , STATIC_BUILTIN_STACK_CHECK , FULL_BUILTIN_STACK_CHECK }
 
enum  callgraph_info_type { NO_CALLGRAPH_INFO = 0 , CALLGRAPH_INFO_NAKED = 1 , CALLGRAPH_INFO_STACK_USAGE = 2 , CALLGRAPH_INFO_DYNAMIC_ALLOC = 4 }
 
enum  fp_contract_mode { FP_CONTRACT_OFF = 0 , FP_CONTRACT_ON = 1 , FP_CONTRACT_FAST = 2 }
 
enum  scalar_storage_order_kind { SSO_NATIVE = 0 , SSO_BIG_ENDIAN , SSO_LITTLE_ENDIAN }
 
enum  vect_cost_model {
  VECT_COST_MODEL_VERY_CHEAP = -3 , VECT_COST_MODEL_CHEAP = -2 , VECT_COST_MODEL_DYNAMIC = -1 , VECT_COST_MODEL_UNLIMITED = 0 ,
  VECT_COST_MODEL_DEFAULT = 1
}
 
enum  auto_init_type { AUTO_INIT_UNINITIALIZED = 0 , AUTO_INIT_PATTERN = 1 , AUTO_INIT_ZERO = 2 }
 
enum  zero_init_padding_bits_kind { ZERO_INIT_PADDING_BITS_STANDARD = 0 , ZERO_INIT_PADDING_BITS_UNIONS = 1 , ZERO_INIT_PADDING_BITS_ALL = 2 }
 
enum  sanitize_code {
  SANITIZE_ADDRESS = 1UL << 0 , SANITIZE_USER_ADDRESS = 1UL << 1 , SANITIZE_KERNEL_ADDRESS = 1UL << 2 , SANITIZE_THREAD = 1UL << 3 ,
  SANITIZE_LEAK = 1UL << 4 , SANITIZE_SHIFT_BASE = 1UL << 5 , SANITIZE_SHIFT_EXPONENT = 1UL << 6 , SANITIZE_DIVIDE = 1UL << 7 ,
  SANITIZE_UNREACHABLE = 1UL << 8 , SANITIZE_VLA = 1UL << 9 , SANITIZE_NULL = 1UL << 10 , SANITIZE_RETURN = 1UL << 11 ,
  SANITIZE_SI_OVERFLOW = 1UL << 12 , SANITIZE_BOOL = 1UL << 13 , SANITIZE_ENUM = 1UL << 14 , SANITIZE_FLOAT_DIVIDE = 1UL << 15 ,
  SANITIZE_FLOAT_CAST = 1UL << 16 , SANITIZE_BOUNDS = 1UL << 17 , SANITIZE_ALIGNMENT = 1UL << 18 , SANITIZE_NONNULL_ATTRIBUTE = 1UL << 19 ,
  SANITIZE_RETURNS_NONNULL_ATTRIBUTE = 1UL << 20 , SANITIZE_OBJECT_SIZE = 1UL << 21 , SANITIZE_VPTR = 1UL << 22 , SANITIZE_BOUNDS_STRICT = 1UL << 23 ,
  SANITIZE_POINTER_OVERFLOW = 1UL << 24 , SANITIZE_BUILTIN = 1UL << 25 , SANITIZE_POINTER_COMPARE = 1UL << 26 , SANITIZE_POINTER_SUBTRACT = 1UL << 27 ,
  SANITIZE_HWADDRESS = 1UL << 28 , SANITIZE_USER_HWADDRESS = 1UL << 29 , SANITIZE_KERNEL_HWADDRESS = 1UL << 30 , SANITIZE_SHADOW_CALL_STACK = 1UL << 31 ,
  SANITIZE_SHIFT = SANITIZE_SHIFT_BASE | SANITIZE_SHIFT_EXPONENT , SANITIZE_UNDEFINED , SANITIZE_UNDEFINED_NONDEFAULT
}
 
enum  incremental_link { INCREMENTAL_LINK_NONE , INCREMENTAL_LINK_NOLTO , INCREMENTAL_LINK_LTO }
 
enum  sanitize_coverage_code { SANITIZE_COV_TRACE_PC = 1 << 0 , SANITIZE_COV_TRACE_CMP = 1 << 1 }
 
enum  vtv_priority { VTV_NO_PRIORITY = 0 , VTV_STANDARD_PRIORITY = 1 , VTV_PREINIT_PRIORITY = 2 }
 
enum  lto_partition_model {
  LTO_PARTITION_NONE = 0 , LTO_PARTITION_ONE = 1 , LTO_PARTITION_BALANCED = 2 , LTO_PARTITION_1TO1 = 3 ,
  LTO_PARTITION_MAX = 4 , LTO_PARTITION_CACHE = 5
}
 
enum  lto_linker_output {
  LTO_LINKER_OUTPUT_UNKNOWN , LTO_LINKER_OUTPUT_REL , LTO_LINKER_OUTPUT_NOLTOREL , LTO_LINKER_OUTPUT_DYN ,
  LTO_LINKER_OUTPUT_PIE , LTO_LINKER_OUTPUT_EXEC
}
 
enum  gfc_init_local_real {
  GFC_INIT_REAL_OFF = 0 , GFC_INIT_REAL_ZERO , GFC_INIT_REAL_NAN , GFC_INIT_REAL_SNAN ,
  GFC_INIT_REAL_INF , GFC_INIT_REAL_NEG_INF
}
 
enum  gfc_fcoarray { GFC_FCOARRAY_NONE = 0 , GFC_FCOARRAY_SINGLE , GFC_FCOARRAY_LIB }
 
enum  gfc_convert {
  GFC_FLAG_CONVERT_NATIVE = 0 , GFC_FLAG_CONVERT_SWAP , GFC_FLAG_CONVERT_BIG , GFC_FLAG_CONVERT_LITTLE ,
  GFC_FLAG_CONVERT_R16_IEEE = 4 , GFC_FLAG_CONVERT_R16_IEEE_SWAP , GFC_FLAG_CONVERT_R16_IEEE_BIG , GFC_FLAG_CONVERT_R16_IEEE_LITTLE ,
  GFC_FLAG_CONVERT_R16_IBM = 8 , GFC_FLAG_CONVERT_R16_IBM_SWAP , GFC_FLAG_CONVERT_R16_IBM_BIG , GFC_FLAG_CONVERT_R16_IBM_LITTLE
}
 
enum  gfc_inlineable_intrinsics {
  GFC_FLAG_INLINE_INTRINSIC_NONE = 0 , GFC_FLAG_INLINE_INTRINSIC_MAXLOC = GFC_INL_INTR_VAL (0) , GFC_FLAG_INLINE_INTRINSIC_MINLOC = GFC_INL_INTR_VAL (1) , GFC_FLAG_INLINE_INTRINSIC_ALL ,
  GFC_FLAG_INLINE_INTRINSIC_NONE_UNSET = GFC_INL_INTR_UNSET_VAL (GFC_FLAG_INLINE_INTRINSIC_NONE) , GFC_FLAG_INLINE_INTRINSIC_MAXLOC_UNSET = GFC_INL_INTR_UNSET_VAL (GFC_FLAG_INLINE_INTRINSIC_MAXLOC) , GFC_FLAG_INLINE_INTRINSIC_MINLOC_UNSET = GFC_INL_INTR_UNSET_VAL (GFC_FLAG_INLINE_INTRINSIC_MINLOC) , GFC_FLAG_INLINE_INTRINSIC_ALL_UNSET = GFC_INL_INTR_UNSET_VAL (GFC_FLAG_INLINE_INTRINSIC_ALL)
}
 
enum  ilsop_fn {
  ILSOP_NONE = 0 , ILSOP_MEMSET = 1 << 0 , ILSOP_MEMCPY = 1 << 1 , ILSOP_MEMMOVE = 1 << 2 ,
  ILSOP_MEMCMP = 1 << 3 , ILSOP_ALL = -1
}
 
enum  cf_protection_level {
  CF_NONE = 0 , CF_BRANCH = 1 << 0 , CF_RETURN = 1 << 1 , CF_FULL = CF_BRANCH | CF_RETURN ,
  CF_SET = 1 << 2 , CF_CHECK = 1 << 3
}
 
enum  parloops_schedule_type {
  PARLOOPS_SCHEDULE_STATIC = 0 , PARLOOPS_SCHEDULE_DYNAMIC , PARLOOPS_SCHEDULE_GUIDED , PARLOOPS_SCHEDULE_AUTO ,
  PARLOOPS_SCHEDULE_RUNTIME
}
 
enum  ranger_debug {
  RANGER_DEBUG_NONE = 0 , RANGER_DEBUG_TRACE = 1 , RANGER_DEBUG_CACHE = 2 , RANGER_DEBUG_GORI = 4 ,
  RANGER_DEBUG_TRACE_GORI = (RANGER_DEBUG_TRACE | RANGER_DEBUG_GORI) , RANGER_DEBUG_TRACE_CACHE = (RANGER_DEBUG_TRACE | RANGER_DEBUG_CACHE) , RANGER_DEBUG_ALL
}
 
enum  threader_debug { THREADER_DEBUG_NONE = 0 , THREADER_DEBUG_ALL = 1 }
 
enum  openacc_kernels { OPENACC_KERNELS_DECOMPOSE , OPENACC_KERNELS_PARLOOPS }
 
enum  openacc_privatization { OPENACC_PRIVATIZATION_QUIET , OPENACC_PRIVATIZATION_NOISY }
 
enum  omp_target_simd_clone_device_kind { OMP_TARGET_SIMD_CLONE_NONE = 0 , OMP_TARGET_SIMD_CLONE_HOST = 1 , OMP_TARGET_SIMD_CLONE_NOHOST = 2 , OMP_TARGET_SIMD_CLONE_ANY = 3 }
 

Variables

const unsigned int zero_regs_flags::UNSET = 0
 
const unsigned int zero_regs_flags::SKIP = 1UL << 0
 
const unsigned int zero_regs_flags::ONLY_USED = 1UL << 1
 
const unsigned int zero_regs_flags::ONLY_GPR = 1UL << 2
 
const unsigned int zero_regs_flags::ONLY_ARG = 1UL << 3
 
const unsigned int zero_regs_flags::ENABLED = 1UL << 4
 
const unsigned int zero_regs_flags::LEAFY_MODE = 1UL << 5
 
const unsigned int zero_regs_flags::USED_GPR_ARG = ENABLED | ONLY_USED | ONLY_GPR | ONLY_ARG
 
const unsigned int zero_regs_flags::USED_GPR = ENABLED | ONLY_USED | ONLY_GPR
 
const unsigned int zero_regs_flags::USED_ARG = ENABLED | ONLY_USED | ONLY_ARG
 
const unsigned int zero_regs_flags::USED = ENABLED | ONLY_USED
 
const unsigned int zero_regs_flags::ALL_GPR_ARG = ENABLED | ONLY_GPR | ONLY_ARG
 
const unsigned int zero_regs_flags::ALL_GPR = ENABLED | ONLY_GPR
 
const unsigned int zero_regs_flags::ALL_ARG = ENABLED | ONLY_ARG
 
const unsigned int zero_regs_flags::ALL = ENABLED
 
const unsigned int zero_regs_flags::LEAFY_GPR_ARG = ENABLED | LEAFY_MODE | ONLY_GPR | ONLY_ARG
 
const unsigned int zero_regs_flags::LEAFY_GPR = ENABLED | LEAFY_MODE | ONLY_GPR
 
const unsigned int zero_regs_flags::LEAFY_ARG = ENABLED | LEAFY_MODE | ONLY_ARG
 
const unsigned int zero_regs_flags::LEAFY = ENABLED | LEAFY_MODE
 

Macro Definition Documentation

◆ BTF_DEBUG

#define BTF_DEBUG   (1U << DINFO_TYPE_BTF)
Write BTF debug info (using btfout.cc).   

Referenced by btf_debuginfo_p(), common_handle_option(), dwarf_based_debuginfo_p(), and set_debug_level().

◆ BTF_WITH_CORE_DEBUG

#define BTF_WITH_CORE_DEBUG   (1U << DINFO_TYPE_BTF_WITH_CORE)
Write BTF debug info for BPF CO-RE usecase (using btfout.cc).   

Referenced by btf_with_core_debuginfo_p().

◆ CODEVIEW_DEBUG

#define CODEVIEW_DEBUG   (1U << DINFO_TYPE_CODEVIEW)
Write CodeView debug info (using dwarf2codeview.cc).   

Referenced by codeview_debuginfo_p(), common_handle_option(), dwarf_based_debuginfo_p(), and set_debug_level().

◆ CTF_DEBUG

#define CTF_DEBUG   (1U << DINFO_TYPE_CTF)
Write CTF debug info (using ctfout.cc).   

Referenced by common_handle_option(), ctf_debuginfo_p(), dwarf_based_debuginfo_p(), and set_debug_level().

◆ DWARF2_DEBUG

#define DWARF2_DEBUG   (1U << DINFO_TYPE_DWARF2)
Write DWARF2 debug info (using dwarf2out.cc).   

Referenced by common_handle_option(), dwarf_debuginfo_p(), process_options(), and set_debug_level().

◆ GFC_INL_INTR_UNSET_VAL

#define GFC_INL_INTR_UNSET_VAL ( val)
Value:
(0x55555555 & (val))

◆ GFC_INL_INTR_VAL

#define GFC_INL_INTR_VAL ( idx)
Value:
(3 << (2 * idx))
gfortran -finline-intrinsics= values;
We use two identical bits for each value, and initialize with alternated
bits, so that we can check whether a value has been set by checking whether
the two bits have identical value.   

◆ NO_DEBUG

#define NO_DEBUG   (0U)

◆ VMS_AND_DWARF2_DEBUG

#define VMS_AND_DWARF2_DEBUG   ((VMS_DEBUG | DWARF2_DEBUG))
Note: Adding new definitions to handle -combination- of debug formats,
like VMS_AND_DWARF2_DEBUG is not recommended.  This definition remains
here for historical reasons.   
Write VMS debug info (using vmsdbgout.cc) and DWARF v2 debug info (using
dwarf2out.cc).   

Referenced by process_options().

◆ VMS_DEBUG

#define VMS_DEBUG   (1U << DINFO_TYPE_VMS)
Write VMS debug info (using vmsdbgout.cc).   

Referenced by common_handle_option(), final_scan_insn_1(), and process_options().

Enumeration Type Documentation

◆ auto_init_type

Automatic variable initialization type.   
Enumerator
AUTO_INIT_UNINITIALIZED 
AUTO_INIT_PATTERN 
AUTO_INIT_ZERO 

◆ callgraph_info_type

Type of callgraph information.   
Enumerator
NO_CALLGRAPH_INFO 
CALLGRAPH_INFO_NAKED 
CALLGRAPH_INFO_STACK_USAGE 
CALLGRAPH_INFO_DYNAMIC_ALLOC 

◆ cf_protection_level

Control-Flow Protection values.   
Enumerator
CF_NONE 
CF_BRANCH 
CF_RETURN 
CF_FULL 
CF_SET 
CF_CHECK 

◆ ctf_debug_info_levels

CTF debug info levels.
CTF debug info levels are untied with DWARF debug info levels because CTF
may co-exist with DWARF.   
Enumerator
CTFINFO_LEVEL_NONE 
CTFINFO_LEVEL_TERSE 
CTFINFO_LEVEL_NORMAL 

◆ debug_info_levels

Enumerator
DINFO_LEVEL_NONE 
DINFO_LEVEL_TERSE 
DINFO_LEVEL_NORMAL 
DINFO_LEVEL_VERBOSE 

◆ debug_info_type

Compilation switch flag type definitions for GCC.
   Copyright (C) 1987-2024 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
Enumerator
DINFO_TYPE_NONE 
DINFO_TYPE_DWARF2 
DINFO_TYPE_VMS 
DINFO_TYPE_CTF 
DINFO_TYPE_BTF 
DINFO_TYPE_CODEVIEW 
DINFO_TYPE_BTF_WITH_CORE 
DINFO_TYPE_MAX 

◆ debug_info_usage

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.cc for the implementation.  
Enumerator
DINFO_USAGE_DFN 
DINFO_USAGE_DIR_USE 
DINFO_USAGE_IND_USE 
DINFO_USAGE_NUM_ENUMS 

◆ debug_struct_file

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 

◆ dwarf_gnat_encodings

Balance between GNAT encodings and standard DWARF to emit.   
Enumerator
DWARF_GNAT_ENCODINGS_ALL 
DWARF_GNAT_ENCODINGS_GDB 
DWARF_GNAT_ENCODINGS_MINIMAL 

◆ excess_precision

The options for excess precision.   
Enumerator
EXCESS_PRECISION_DEFAULT 
EXCESS_PRECISION_FAST 
EXCESS_PRECISION_STANDARD 
EXCESS_PRECISION_FLOAT16 

◆ fp_contract_mode

Floating-point contraction mode.   
Enumerator
FP_CONTRACT_OFF 
FP_CONTRACT_ON 
FP_CONTRACT_FAST 

◆ gfc_convert

gfortran -fconvert= values; used for unformatted I/O.
Keep in sync with GFC_CONVERT_* in gcc/fortran/libgfortran.h.    
Enumerator
GFC_FLAG_CONVERT_NATIVE 
GFC_FLAG_CONVERT_SWAP 
GFC_FLAG_CONVERT_BIG 
GFC_FLAG_CONVERT_LITTLE 
GFC_FLAG_CONVERT_R16_IEEE 
GFC_FLAG_CONVERT_R16_IEEE_SWAP 
GFC_FLAG_CONVERT_R16_IEEE_BIG 
GFC_FLAG_CONVERT_R16_IEEE_LITTLE 
GFC_FLAG_CONVERT_R16_IBM 
GFC_FLAG_CONVERT_R16_IBM_SWAP 
GFC_FLAG_CONVERT_R16_IBM_BIG 
GFC_FLAG_CONVERT_R16_IBM_LITTLE 

◆ gfc_fcoarray

gfortran -fcoarray= values.   
Enumerator
GFC_FCOARRAY_NONE 
GFC_FCOARRAY_SINGLE 
GFC_FCOARRAY_LIB 

◆ gfc_init_local_real

gfortran -finit-real= values.   
Enumerator
GFC_INIT_REAL_OFF 
GFC_INIT_REAL_ZERO 
GFC_INIT_REAL_NAN 
GFC_INIT_REAL_SNAN 
GFC_INIT_REAL_INF 
GFC_INIT_REAL_NEG_INF 

◆ gfc_inlineable_intrinsics

Enumerator
GFC_FLAG_INLINE_INTRINSIC_NONE 
GFC_FLAG_INLINE_INTRINSIC_MAXLOC 
GFC_FLAG_INLINE_INTRINSIC_MINLOC 
GFC_FLAG_INLINE_INTRINSIC_ALL 
GFC_FLAG_INLINE_INTRINSIC_NONE_UNSET 
GFC_FLAG_INLINE_INTRINSIC_MAXLOC_UNSET 
GFC_FLAG_INLINE_INTRINSIC_MINLOC_UNSET 
GFC_FLAG_INLINE_INTRINSIC_ALL_UNSET 

◆ hardcfr_noret

Control Flow Redundancy hardening options for noreturn calls.   
Enumerator
HCFRNR_NEVER 
HCFRNR_NOTHROW 
HCFRNR_NO_XTHROW 
HCFRNR_UNSPECIFIED 
HCFRNR_ALWAYS 

◆ ilsop_fn

enum ilsop_fn
Inline String Operations functions.   
Enumerator
ILSOP_NONE 
ILSOP_MEMSET 
ILSOP_MEMCPY 
ILSOP_MEMMOVE 
ILSOP_MEMCMP 
ILSOP_ALL 

◆ incremental_link

Settings of flag_incremental_link.   
Enumerator
INCREMENTAL_LINK_NONE 
INCREMENTAL_LINK_NOLTO 
INCREMENTAL_LINK_LTO 

◆ ira_algorithm

The algorithm used for the integrated register allocator (IRA).   
Enumerator
IRA_ALGORITHM_CB 
IRA_ALGORITHM_PRIORITY 

◆ ira_region

enum ira_region
The regions used for the integrated register allocator (IRA).   
Enumerator
IRA_REGION_ONE 
IRA_REGION_ALL 
IRA_REGION_MIXED 

◆ ivar_visibility

Enumerate Objective-c instance variable visibility settings.  
Enumerator
IVAR_VISIBILITY_PRIVATE 
IVAR_VISIBILITY_PROTECTED 
IVAR_VISIBILITY_PUBLIC 
IVAR_VISIBILITY_PACKAGE 

◆ live_patching_level

The live patching level.   
Enumerator
LIVE_PATCHING_NONE 
LIVE_PATCHING_INLINE_ONLY_STATIC 
LIVE_PATCHING_INLINE_CLONE 

◆ lto_linker_output

flag_lto_linker_output initialization values.   
Enumerator
LTO_LINKER_OUTPUT_UNKNOWN 
LTO_LINKER_OUTPUT_REL 
LTO_LINKER_OUTPUT_NOLTOREL 
LTO_LINKER_OUTPUT_DYN 
LTO_LINKER_OUTPUT_PIE 
LTO_LINKER_OUTPUT_EXEC 

◆ lto_partition_model

flag_lto_partition initialization values.   
Enumerator
LTO_PARTITION_NONE 
LTO_PARTITION_ONE 
LTO_PARTITION_BALANCED 
LTO_PARTITION_1TO1 
LTO_PARTITION_MAX 
LTO_PARTITION_CACHE 

◆ omp_target_simd_clone_device_kind

Targets for -fopenmp-target-simd-clone.   
Enumerator
OMP_TARGET_SIMD_CLONE_NONE 
OMP_TARGET_SIMD_CLONE_HOST 
OMP_TARGET_SIMD_CLONE_NOHOST 
OMP_TARGET_SIMD_CLONE_ANY 

◆ openacc_kernels

Modes of OpenACC 'kernels' constructs handling.   
Enumerator
OPENACC_KERNELS_DECOMPOSE 
OPENACC_KERNELS_PARLOOPS 

◆ openacc_privatization

Modes of OpenACC privatization diagnostics.   
Enumerator
OPENACC_PRIVATIZATION_QUIET 
OPENACC_PRIVATIZATION_NOISY 

◆ parloops_schedule_type

Parloops schedule type.   
Enumerator
PARLOOPS_SCHEDULE_STATIC 
PARLOOPS_SCHEDULE_DYNAMIC 
PARLOOPS_SCHEDULE_GUIDED 
PARLOOPS_SCHEDULE_AUTO 
PARLOOPS_SCHEDULE_RUNTIME 

◆ permitted_flt_eval_methods

The options for which values of FLT_EVAL_METHOD are permissible.   
Enumerator
PERMITTED_FLT_EVAL_METHODS_DEFAULT 
PERMITTED_FLT_EVAL_METHODS_TS_18661 
PERMITTED_FLT_EVAL_METHODS_C11 

◆ ranger_debug

Ranger debug mode.   
Enumerator
RANGER_DEBUG_NONE 
RANGER_DEBUG_TRACE 
RANGER_DEBUG_CACHE 
RANGER_DEBUG_GORI 
RANGER_DEBUG_TRACE_GORI 
RANGER_DEBUG_TRACE_CACHE 
RANGER_DEBUG_ALL 

◆ reorder_blocks_algorithm

The algorithm used for basic block reordering.   
Enumerator
REORDER_BLOCKS_ALGORITHM_SIMPLE 
REORDER_BLOCKS_ALGORITHM_STC 

◆ sanitize_code

Different instrumentation modes.   
Enumerator
SANITIZE_ADDRESS 
SANITIZE_USER_ADDRESS 
SANITIZE_KERNEL_ADDRESS 
SANITIZE_THREAD 
SANITIZE_LEAK 
SANITIZE_SHIFT_BASE 
SANITIZE_SHIFT_EXPONENT 
SANITIZE_DIVIDE 
SANITIZE_UNREACHABLE 
SANITIZE_VLA 
SANITIZE_NULL 
SANITIZE_RETURN 
SANITIZE_SI_OVERFLOW 
SANITIZE_BOOL 
SANITIZE_ENUM 
SANITIZE_FLOAT_DIVIDE 
SANITIZE_FLOAT_CAST 
SANITIZE_BOUNDS 
SANITIZE_ALIGNMENT 
SANITIZE_NONNULL_ATTRIBUTE 
SANITIZE_RETURNS_NONNULL_ATTRIBUTE 
SANITIZE_OBJECT_SIZE 
SANITIZE_VPTR 
SANITIZE_BOUNDS_STRICT 
SANITIZE_POINTER_OVERFLOW 
SANITIZE_BUILTIN 
SANITIZE_POINTER_COMPARE 
SANITIZE_POINTER_SUBTRACT 
SANITIZE_HWADDRESS 
SANITIZE_USER_HWADDRESS 
SANITIZE_KERNEL_HWADDRESS 
SANITIZE_SHADOW_CALL_STACK 
SANITIZE_SHIFT 
SANITIZE_UNDEFINED 
SANITIZE_UNDEFINED_NONDEFAULT 

◆ sanitize_coverage_code

Different trace modes.   
Enumerator
SANITIZE_COV_TRACE_PC 
SANITIZE_COV_TRACE_CMP 

◆ scalar_storage_order_kind

Scalar storage order kind.   
Enumerator
SSO_NATIVE 
SSO_BIG_ENDIAN 
SSO_LITTLE_ENDIAN 

◆ stack_check_type

Type of stack check.

Stack checking is designed to detect infinite recursion and stack
overflows for Ada programs.  Furthermore stack checking tries to ensure
in that scenario that enough stack space is left to run a signal handler.

-fstack-check= does not prevent stack-clash style attacks.  For that
you want -fstack-clash-protection.   
Enumerator
NO_STACK_CHECK 
GENERIC_STACK_CHECK 
STATIC_BUILTIN_STACK_CHECK 
FULL_BUILTIN_STACK_CHECK 

◆ stack_reuse_level

The stack reuse level.   
Enumerator
SR_NONE 
SR_NAMED_VARS 
SR_ALL 

◆ threader_debug

Jump threader verbose dumps.   
Enumerator
THREADER_DEBUG_NONE 
THREADER_DEBUG_ALL 

◆ vect_cost_model

Vectorizer cost-model.  Except for DEFAULT, the values are ordered from
the most conservative to the least conservative.   
Enumerator
VECT_COST_MODEL_VERY_CHEAP 
VECT_COST_MODEL_CHEAP 
VECT_COST_MODEL_DYNAMIC 
VECT_COST_MODEL_UNLIMITED 
VECT_COST_MODEL_DEFAULT 

◆ vtv_priority

flag_vtable_verify initialization levels.  
Enumerator
VTV_NO_PRIORITY 
VTV_STANDARD_PRIORITY 
VTV_PREINIT_PRIORITY 

◆ zero_init_padding_bits_kind

Initialization of padding bits with zeros.   
Enumerator
ZERO_INIT_PADDING_BITS_STANDARD 
ZERO_INIT_PADDING_BITS_UNIONS 
ZERO_INIT_PADDING_BITS_ALL