GCC Middle and Back End API Reference
flag-types.h
Go to the documentation of this file.
1/* Compilation switch flag type definitions for GCC.
2 Copyright (C) 1987-2024 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 3, or (at your option) any later
9version.
10
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
19
20#ifndef GCC_FLAG_TYPES_H
21#define GCC_FLAG_TYPES_H
22
23#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)
24
26{
27 DINFO_TYPE_NONE, /* No debug info. */
28 DINFO_TYPE_DWARF2, /* Dwarf v2 debug info. */
29 DINFO_TYPE_VMS, /* VMS debug info. */
30 DINFO_TYPE_CTF, /* CTF debug info. */
31 DINFO_TYPE_BTF, /* BTF debug info. */
32 DINFO_TYPE_CODEVIEW, /* CodeView debug info. */
33 DINFO_TYPE_BTF_WITH_CORE, /* BTF debug info with CO-RE relocations. */
34 DINFO_TYPE_MAX = DINFO_TYPE_BTF_WITH_CORE /* Marker only. */
35};
36
37#define NO_DEBUG (0U)
38/* Write DWARF2 debug info (using dwarf2out.cc). */
39#define DWARF2_DEBUG (1U << DINFO_TYPE_DWARF2)
40/* Write VMS debug info (using vmsdbgout.cc). */
41#define VMS_DEBUG (1U << DINFO_TYPE_VMS)
42/* Write CTF debug info (using ctfout.cc). */
43#define CTF_DEBUG (1U << DINFO_TYPE_CTF)
44/* Write BTF debug info (using btfout.cc). */
45#define BTF_DEBUG (1U << DINFO_TYPE_BTF)
46/* Write CodeView debug info (using dwarf2codeview.cc). */
47#define CODEVIEW_DEBUG (1U << DINFO_TYPE_CODEVIEW)
48/* Write BTF debug info for BPF CO-RE usecase (using btfout.cc). */
49#define BTF_WITH_CORE_DEBUG (1U << DINFO_TYPE_BTF_WITH_CORE)
50
51/* Note: Adding new definitions to handle -combination- of debug formats,
52 like VMS_AND_DWARF2_DEBUG is not recommended. This definition remains
53 here for historical reasons. */
54/* Write VMS debug info (using vmsdbgout.cc) and DWARF v2 debug info (using
55 dwarf2out.cc). */
56#define VMS_AND_DWARF2_DEBUG ((VMS_DEBUG | DWARF2_DEBUG))
57
59{
60 DINFO_LEVEL_NONE, /* Write no debugging info. */
61 DINFO_LEVEL_TERSE, /* Write minimal info to support tracebacks only. */
62 DINFO_LEVEL_NORMAL, /* Write info for all declarations (and line table). */
63 DINFO_LEVEL_VERBOSE /* Write normal info plus #define/#undef info. */
64};
65
66/* CTF debug info levels.
67 CTF debug info levels are untied with DWARF debug info levels because CTF
68 may co-exist with DWARF. */
70{
71 CTFINFO_LEVEL_NONE = 0, /* Write no CTF debug info. */
72 CTFINFO_LEVEL_TERSE = 1, /* Write CTF information to support tracebacks
73 only. Not Implemented. */
74 CTFINFO_LEVEL_NORMAL = 2 /* Write CTF type information for all entities
75 (functions, data objects, variables etc.)
76 at file-scope or global-scope only. */
77};
78
79/* A major contribution to object and executable size is debug
80 information size. A major contribution to debug information
81 size is struct descriptions replicated in several object files.
82 The following function determines whether or not debug information
83 should be generated for a given struct. The indirect parameter
84 indicates that the struct is being handled indirectly, via
85 a pointer. See opts.cc for the implementation. */
86
88{
89 DINFO_USAGE_DFN, /* A struct definition. */
90 DINFO_USAGE_DIR_USE, /* A direct use, such as the type of a variable. */
91 DINFO_USAGE_IND_USE, /* An indirect use, such as through a pointer. */
92 DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */
93};
94
95/* A major contribution to object and executable size is debug
96 information size. A major contribution to debug information size
97 is struct descriptions replicated in several object files. The
98 following flags attempt to reduce this information. The basic
99 idea is to not emit struct debugging information in the current
100 compilation unit when that information will be generated by
101 another compilation unit.
102
103 Debug information for a struct defined in the current source
104 file should be generated in the object file. Likewise the
105 debug information for a struct defined in a header should be
106 generated in the object file of the corresponding source file.
107 Both of these case are handled when the base name of the file of
108 the struct definition matches the base name of the source file
109 of the current compilation unit. This matching emits minimal
110 struct debugging information.
111
112 The base file name matching rule above will fail to emit debug
113 information for structs defined in system headers. So a second
114 category of files includes system headers in addition to files
115 with matching bases.
116
117 The remaining types of files are library headers and application
118 headers. We cannot currently distinguish these two types. */
119
121{
122 DINFO_STRUCT_FILE_NONE, /* Debug no structs. */
123 DINFO_STRUCT_FILE_BASE, /* Debug structs defined in files with the
124 same base name as the compilation unit. */
125 DINFO_STRUCT_FILE_SYS, /* Also debug structs defined in system
126 header files. */
127 DINFO_STRUCT_FILE_ANY /* Debug structs defined in all files. */
129
130/* Balance between GNAT encodings and standard DWARF to emit. */
131
133{
134 DWARF_GNAT_ENCODINGS_ALL = 0, /* Emit all GNAT encodings, then emit as
135 much standard DWARF as possible so it
136 does not conflict with GNAT
137 encodings. */
138 DWARF_GNAT_ENCODINGS_GDB = 1, /* Emit as much standard DWARF as possible
139 as long as GDB handles them. Emit GNAT
140 encodings for the rest. */
141 DWARF_GNAT_ENCODINGS_MINIMAL = 2 /* Emit all the standard DWARF we can.
142 Emit GNAT encodings for the rest. */
144
145/* Enumerate Objective-c instance variable visibility settings. */
146
154
155/* The stack reuse level. */
162
163/* Control Flow Redundancy hardening options for noreturn calls. */
172
173/* The live patching level. */
180
181/* The algorithm used for basic block reordering. */
187
188/* The algorithm used for the integrated register allocator (IRA). */
194
195/* The regions used for the integrated register allocator (IRA). */
202
203/* The options for excess precision. */
211
212/* The options for which values of FLT_EVAL_METHOD are permissible. */
219
220/* Type of stack check.
221
222 Stack checking is designed to detect infinite recursion and stack
223 overflows for Ada programs. Furthermore stack checking tries to ensure
224 in that scenario that enough stack space is left to run a signal handler.
225
226 -fstack-check= does not prevent stack-clash style attacks. For that
227 you want -fstack-clash-protection. */
229{
230 /* Do not check the stack. */
232
233 /* Check the stack generically, i.e. assume no specific support
234 from the target configuration files. */
236
237 /* Check the stack and rely on the target configuration files to
238 check the static frame of functions, i.e. use the generic
239 mechanism only for dynamic stack allocations. */
241
242 /* Check the stack and entirely rely on the target configuration
243 files, i.e. do not use the generic mechanism at all. */
246
247/* Type of callgraph information. */
249{
250 /* No information. */
252
253 /* Naked callgraph. */
255
256 /* Callgraph decorated with stack usage information. */
258
259 /* Callgraph decoration with dynamic allocation information. */
262
263/* Floating-point contraction mode. */
269
270/* Scalar storage order kind. */
276
277/* Vectorizer cost-model. Except for DEFAULT, the values are ordered from
278 the most conservative to the least conservative. */
286
287/* Automatic variable initialization type. */
293
294/* Initialization of padding bits with zeros. */
300
301/* Different instrumentation modes. */
303 /* AddressSanitizer. */
307 /* ThreadSanitizer. */
308 SANITIZE_THREAD = 1UL << 3,
309 /* LeakSanitizer. */
310 SANITIZE_LEAK = 1UL << 4,
311 /* UndefinedBehaviorSanitizer. */
314 SANITIZE_DIVIDE = 1UL << 7,
316 SANITIZE_VLA = 1UL << 9,
317 SANITIZE_NULL = 1UL << 10,
318 SANITIZE_RETURN = 1UL << 11,
320 SANITIZE_BOOL = 1UL << 13,
321 SANITIZE_ENUM = 1UL << 14,
324 SANITIZE_BOUNDS = 1UL << 17,
329 SANITIZE_VPTR = 1UL << 22,
332 SANITIZE_BUILTIN = 1UL << 25,
338 /* Shadow Call Stack. */
352
353/* Different settings for zeroing subset of registers. */
355 const unsigned int UNSET = 0;
356 const unsigned int SKIP = 1UL << 0;
357 const unsigned int ONLY_USED = 1UL << 1;
358 const unsigned int ONLY_GPR = 1UL << 2;
359 const unsigned int ONLY_ARG = 1UL << 3;
360 const unsigned int ENABLED = 1UL << 4;
361 const unsigned int LEAFY_MODE = 1UL << 5;
362 const unsigned int USED_GPR_ARG = ENABLED | ONLY_USED | ONLY_GPR | ONLY_ARG;
363 const unsigned int USED_GPR = ENABLED | ONLY_USED | ONLY_GPR;
364 const unsigned int USED_ARG = ENABLED | ONLY_USED | ONLY_ARG;
365 const unsigned int USED = ENABLED | ONLY_USED;
366 const unsigned int ALL_GPR_ARG = ENABLED | ONLY_GPR | ONLY_ARG;
367 const unsigned int ALL_GPR = ENABLED | ONLY_GPR;
368 const unsigned int ALL_ARG = ENABLED | ONLY_ARG;
369 const unsigned int ALL = ENABLED;
371 const unsigned int LEAFY_GPR = ENABLED | LEAFY_MODE | ONLY_GPR;
372 const unsigned int LEAFY_ARG = ENABLED | LEAFY_MODE | ONLY_ARG;
373 const unsigned int LEAFY = ENABLED | LEAFY_MODE;
374}
375
376/* Settings of flag_incremental_link. */
379 /* Do incremental linking and produce binary. */
381 /* Do incremental linking and produce IL. */
384
385/* Different trace modes. */
387 /* Trace PC. */
389 /* Trace Comparison. */
392
393/* flag_vtable_verify initialization levels. */
395 VTV_NO_PRIORITY = 0, /* i.E. Do NOT do vtable verification. */
399
400/* flag_lto_partition initialization values. */
409
410/* flag_lto_linker_output initialization values. */
419
420/* gfortran -finit-real= values. */
421
431
432/* gfortran -fcoarray= values. */
433
440
441
442/* gfortran -fconvert= values; used for unformatted I/O.
443 Keep in sync with GFC_CONVERT_* in gcc/fortran/libgfortran.h. */
459
460
461/* gfortran -finline-intrinsics= values;
462 We use two identical bits for each value, and initialize with alternated
463 bits, so that we can check whether a value has been set by checking whether
464 the two bits have identical value. */
465
466#define GFC_INL_INTR_VAL(idx) (3 << (2 * idx))
467#define GFC_INL_INTR_UNSET_VAL(val) (0x55555555 & (val))
468
486
487#undef GFC_INL_INTR_UNSET_VAL
488#undef GFC_INL_INTR_VAL
489
490
491/* Inline String Operations functions. */
493{
495 ILSOP_MEMSET = 1 << 0,
496 ILSOP_MEMCPY = 1 << 1,
498 ILSOP_MEMCMP = 1 << 3,
499 ILSOP_ALL = -1
501
502/* Control-Flow Protection values. */
504{
506 CF_BRANCH = 1 << 0,
507 CF_RETURN = 1 << 1,
509 CF_SET = 1 << 2,
510 CF_CHECK = 1 << 3
512
513/* Parloops schedule type. */
522
523/* Ranger debug mode. */
535
536/* Jump threader verbose dumps. */
542
543/* Modes of OpenACC 'kernels' constructs handling. */
549
550/* Modes of OpenACC privatization diagnostics. */
556
557/* Targets for -fopenmp-target-simd-clone. */
565
566#endif
567
568#endif /* ! GCC_FLAG_TYPES_H */
fp_contract_mode
Definition flag-types.h:264
@ FP_CONTRACT_ON
Definition flag-types.h:266
@ FP_CONTRACT_OFF
Definition flag-types.h:265
@ FP_CONTRACT_FAST
Definition flag-types.h:267
ivar_visibility
Definition flag-types.h:148
@ IVAR_VISIBILITY_PUBLIC
Definition flag-types.h:151
@ IVAR_VISIBILITY_PRIVATE
Definition flag-types.h:149
@ IVAR_VISIBILITY_PACKAGE
Definition flag-types.h:152
@ IVAR_VISIBILITY_PROTECTED
Definition flag-types.h:150
debug_info_levels
Definition flag-types.h:59
@ DINFO_LEVEL_TERSE
Definition flag-types.h:61
@ DINFO_LEVEL_NONE
Definition flag-types.h:60
@ DINFO_LEVEL_NORMAL
Definition flag-types.h:62
@ DINFO_LEVEL_VERBOSE
Definition flag-types.h:63
zero_init_padding_bits_kind
Definition flag-types.h:295
@ ZERO_INIT_PADDING_BITS_UNIONS
Definition flag-types.h:297
@ ZERO_INIT_PADDING_BITS_ALL
Definition flag-types.h:298
@ ZERO_INIT_PADDING_BITS_STANDARD
Definition flag-types.h:296
stack_check_type
Definition flag-types.h:229
@ FULL_BUILTIN_STACK_CHECK
Definition flag-types.h:244
@ STATIC_BUILTIN_STACK_CHECK
Definition flag-types.h:240
@ NO_STACK_CHECK
Definition flag-types.h:231
@ GENERIC_STACK_CHECK
Definition flag-types.h:235
live_patching_level
Definition flag-types.h:175
@ LIVE_PATCHING_INLINE_CLONE
Definition flag-types.h:178
@ LIVE_PATCHING_NONE
Definition flag-types.h:176
@ LIVE_PATCHING_INLINE_ONLY_STATIC
Definition flag-types.h:177
ilsop_fn
Definition flag-types.h:493
@ ILSOP_NONE
Definition flag-types.h:494
@ ILSOP_MEMMOVE
Definition flag-types.h:497
@ ILSOP_MEMCPY
Definition flag-types.h:496
@ ILSOP_MEMCMP
Definition flag-types.h:498
@ ILSOP_ALL
Definition flag-types.h:499
@ ILSOP_MEMSET
Definition flag-types.h:495
auto_init_type
Definition flag-types.h:288
@ AUTO_INIT_ZERO
Definition flag-types.h:291
@ AUTO_INIT_UNINITIALIZED
Definition flag-types.h:289
@ AUTO_INIT_PATTERN
Definition flag-types.h:290
debug_struct_file
Definition flag-types.h:121
@ DINFO_STRUCT_FILE_SYS
Definition flag-types.h:125
@ DINFO_STRUCT_FILE_NONE
Definition flag-types.h:122
@ DINFO_STRUCT_FILE_ANY
Definition flag-types.h:127
@ DINFO_STRUCT_FILE_BASE
Definition flag-types.h:123
parloops_schedule_type
Definition flag-types.h:515
@ PARLOOPS_SCHEDULE_RUNTIME
Definition flag-types.h:520
@ PARLOOPS_SCHEDULE_AUTO
Definition flag-types.h:519
@ PARLOOPS_SCHEDULE_DYNAMIC
Definition flag-types.h:517
@ PARLOOPS_SCHEDULE_GUIDED
Definition flag-types.h:518
@ PARLOOPS_SCHEDULE_STATIC
Definition flag-types.h:516
threader_debug
Definition flag-types.h:538
@ THREADER_DEBUG_NONE
Definition flag-types.h:539
@ THREADER_DEBUG_ALL
Definition flag-types.h:540
vect_cost_model
Definition flag-types.h:279
@ VECT_COST_MODEL_VERY_CHEAP
Definition flag-types.h:280
@ VECT_COST_MODEL_UNLIMITED
Definition flag-types.h:283
@ VECT_COST_MODEL_DYNAMIC
Definition flag-types.h:282
@ VECT_COST_MODEL_DEFAULT
Definition flag-types.h:284
@ VECT_COST_MODEL_CHEAP
Definition flag-types.h:281
debug_info_type
Definition flag-types.h:26
@ DINFO_TYPE_MAX
Definition flag-types.h:34
@ DINFO_TYPE_CTF
Definition flag-types.h:30
@ DINFO_TYPE_VMS
Definition flag-types.h:29
@ DINFO_TYPE_BTF
Definition flag-types.h:31
@ DINFO_TYPE_BTF_WITH_CORE
Definition flag-types.h:33
@ DINFO_TYPE_CODEVIEW
Definition flag-types.h:32
@ DINFO_TYPE_DWARF2
Definition flag-types.h:28
@ DINFO_TYPE_NONE
Definition flag-types.h:27
sanitize_code
Definition flag-types.h:302
@ SANITIZE_VLA
Definition flag-types.h:316
@ SANITIZE_NONNULL_ATTRIBUTE
Definition flag-types.h:326
@ SANITIZE_ENUM
Definition flag-types.h:321
@ SANITIZE_USER_HWADDRESS
Definition flag-types.h:336
@ SANITIZE_POINTER_COMPARE
Definition flag-types.h:333
@ SANITIZE_ALIGNMENT
Definition flag-types.h:325
@ SANITIZE_SHADOW_CALL_STACK
Definition flag-types.h:339
@ SANITIZE_LEAK
Definition flag-types.h:310
@ SANITIZE_POINTER_OVERFLOW
Definition flag-types.h:331
@ SANITIZE_OBJECT_SIZE
Definition flag-types.h:328
@ SANITIZE_RETURNS_NONNULL_ATTRIBUTE
Definition flag-types.h:327
@ SANITIZE_POINTER_SUBTRACT
Definition flag-types.h:334
@ SANITIZE_FLOAT_CAST
Definition flag-types.h:323
@ SANITIZE_BOUNDS
Definition flag-types.h:324
@ SANITIZE_UNDEFINED
Definition flag-types.h:341
@ SANITIZE_NULL
Definition flag-types.h:317
@ SANITIZE_SHIFT_BASE
Definition flag-types.h:312
@ SANITIZE_BOUNDS_STRICT
Definition flag-types.h:330
@ SANITIZE_THREAD
Definition flag-types.h:308
@ SANITIZE_UNREACHABLE
Definition flag-types.h:315
@ SANITIZE_BUILTIN
Definition flag-types.h:332
@ SANITIZE_DIVIDE
Definition flag-types.h:314
@ SANITIZE_RETURN
Definition flag-types.h:318
@ SANITIZE_FLOAT_DIVIDE
Definition flag-types.h:322
@ SANITIZE_SHIFT
Definition flag-types.h:340
@ SANITIZE_SHIFT_EXPONENT
Definition flag-types.h:313
@ SANITIZE_VPTR
Definition flag-types.h:329
@ SANITIZE_SI_OVERFLOW
Definition flag-types.h:319
@ SANITIZE_KERNEL_HWADDRESS
Definition flag-types.h:337
@ SANITIZE_BOOL
Definition flag-types.h:320
@ SANITIZE_USER_ADDRESS
Definition flag-types.h:305
@ SANITIZE_KERNEL_ADDRESS
Definition flag-types.h:306
@ SANITIZE_ADDRESS
Definition flag-types.h:304
@ SANITIZE_UNDEFINED_NONDEFAULT
Definition flag-types.h:349
@ SANITIZE_HWADDRESS
Definition flag-types.h:335
openacc_privatization
Definition flag-types.h:552
@ OPENACC_PRIVATIZATION_QUIET
Definition flag-types.h:553
@ OPENACC_PRIVATIZATION_NOISY
Definition flag-types.h:554
sanitize_coverage_code
Definition flag-types.h:386
@ SANITIZE_COV_TRACE_CMP
Definition flag-types.h:390
@ SANITIZE_COV_TRACE_PC
Definition flag-types.h:388
lto_linker_output
Definition flag-types.h:411
@ LTO_LINKER_OUTPUT_UNKNOWN
Definition flag-types.h:412
@ LTO_LINKER_OUTPUT_REL
Definition flag-types.h:413
@ LTO_LINKER_OUTPUT_PIE
Definition flag-types.h:416
@ LTO_LINKER_OUTPUT_NOLTOREL
Definition flag-types.h:414
@ LTO_LINKER_OUTPUT_DYN
Definition flag-types.h:415
@ LTO_LINKER_OUTPUT_EXEC
Definition flag-types.h:417
ranger_debug
Definition flag-types.h:525
@ RANGER_DEBUG_TRACE
Definition flag-types.h:527
@ RANGER_DEBUG_TRACE_GORI
Definition flag-types.h:530
@ RANGER_DEBUG_GORI
Definition flag-types.h:529
@ RANGER_DEBUG_NONE
Definition flag-types.h:526
@ RANGER_DEBUG_ALL
Definition flag-types.h:532
@ RANGER_DEBUG_TRACE_CACHE
Definition flag-types.h:531
@ RANGER_DEBUG_CACHE
Definition flag-types.h:528
gfc_convert
Definition flag-types.h:445
@ GFC_FLAG_CONVERT_R16_IEEE
Definition flag-types.h:450
@ GFC_FLAG_CONVERT_R16_IBM_SWAP
Definition flag-types.h:455
@ GFC_FLAG_CONVERT_R16_IEEE_BIG
Definition flag-types.h:452
@ GFC_FLAG_CONVERT_LITTLE
Definition flag-types.h:449
@ GFC_FLAG_CONVERT_SWAP
Definition flag-types.h:447
@ GFC_FLAG_CONVERT_NATIVE
Definition flag-types.h:446
@ GFC_FLAG_CONVERT_R16_IBM_BIG
Definition flag-types.h:456
@ GFC_FLAG_CONVERT_R16_IBM_LITTLE
Definition flag-types.h:457
@ GFC_FLAG_CONVERT_BIG
Definition flag-types.h:448
@ GFC_FLAG_CONVERT_R16_IEEE_SWAP
Definition flag-types.h:451
@ GFC_FLAG_CONVERT_R16_IBM
Definition flag-types.h:454
@ GFC_FLAG_CONVERT_R16_IEEE_LITTLE
Definition flag-types.h:453
lto_partition_model
Definition flag-types.h:401
@ LTO_PARTITION_MAX
Definition flag-types.h:406
@ LTO_PARTITION_NONE
Definition flag-types.h:402
@ LTO_PARTITION_ONE
Definition flag-types.h:403
@ LTO_PARTITION_BALANCED
Definition flag-types.h:404
@ LTO_PARTITION_CACHE
Definition flag-types.h:407
@ LTO_PARTITION_1TO1
Definition flag-types.h:405
gfc_fcoarray
Definition flag-types.h:435
@ GFC_FCOARRAY_LIB
Definition flag-types.h:438
@ GFC_FCOARRAY_SINGLE
Definition flag-types.h:437
@ GFC_FCOARRAY_NONE
Definition flag-types.h:436
vtv_priority
Definition flag-types.h:394
@ VTV_STANDARD_PRIORITY
Definition flag-types.h:396
@ VTV_PREINIT_PRIORITY
Definition flag-types.h:397
@ VTV_NO_PRIORITY
Definition flag-types.h:395
hardcfr_noret
Definition flag-types.h:165
@ HCFRNR_NO_XTHROW
Definition flag-types.h:168
@ HCFRNR_NOTHROW
Definition flag-types.h:167
@ HCFRNR_NEVER
Definition flag-types.h:166
@ HCFRNR_UNSPECIFIED
Definition flag-types.h:169
@ HCFRNR_ALWAYS
Definition flag-types.h:170
#define GFC_INL_INTR_VAL(idx)
Definition flag-types.h:466
omp_target_simd_clone_device_kind
Definition flag-types.h:559
@ OMP_TARGET_SIMD_CLONE_NOHOST
Definition flag-types.h:562
@ OMP_TARGET_SIMD_CLONE_ANY
Definition flag-types.h:563
@ OMP_TARGET_SIMD_CLONE_NONE
Definition flag-types.h:560
@ OMP_TARGET_SIMD_CLONE_HOST
Definition flag-types.h:561
ira_algorithm
Definition flag-types.h:190
@ IRA_ALGORITHM_CB
Definition flag-types.h:191
@ IRA_ALGORITHM_PRIORITY
Definition flag-types.h:192
permitted_flt_eval_methods
Definition flag-types.h:214
@ PERMITTED_FLT_EVAL_METHODS_TS_18661
Definition flag-types.h:216
@ PERMITTED_FLT_EVAL_METHODS_DEFAULT
Definition flag-types.h:215
@ PERMITTED_FLT_EVAL_METHODS_C11
Definition flag-types.h:217
gfc_inlineable_intrinsics
Definition flag-types.h:470
@ GFC_FLAG_INLINE_INTRINSIC_NONE_UNSET
Definition flag-types.h:477
@ GFC_FLAG_INLINE_INTRINSIC_ALL
Definition flag-types.h:474
@ GFC_FLAG_INLINE_INTRINSIC_ALL_UNSET
Definition flag-types.h:483
@ GFC_FLAG_INLINE_INTRINSIC_MINLOC_UNSET
Definition flag-types.h:481
@ GFC_FLAG_INLINE_INTRINSIC_MINLOC
Definition flag-types.h:473
@ GFC_FLAG_INLINE_INTRINSIC_NONE
Definition flag-types.h:471
@ GFC_FLAG_INLINE_INTRINSIC_MAXLOC_UNSET
Definition flag-types.h:479
@ GFC_FLAG_INLINE_INTRINSIC_MAXLOC
Definition flag-types.h:472
excess_precision
Definition flag-types.h:205
@ EXCESS_PRECISION_DEFAULT
Definition flag-types.h:206
@ EXCESS_PRECISION_STANDARD
Definition flag-types.h:208
@ EXCESS_PRECISION_FLOAT16
Definition flag-types.h:209
@ EXCESS_PRECISION_FAST
Definition flag-types.h:207
ctf_debug_info_levels
Definition flag-types.h:70
@ CTFINFO_LEVEL_NORMAL
Definition flag-types.h:74
@ CTFINFO_LEVEL_TERSE
Definition flag-types.h:72
@ CTFINFO_LEVEL_NONE
Definition flag-types.h:71
dwarf_gnat_encodings
Definition flag-types.h:133
@ DWARF_GNAT_ENCODINGS_ALL
Definition flag-types.h:134
@ DWARF_GNAT_ENCODINGS_GDB
Definition flag-types.h:138
@ DWARF_GNAT_ENCODINGS_MINIMAL
Definition flag-types.h:141
openacc_kernels
Definition flag-types.h:545
@ OPENACC_KERNELS_DECOMPOSE
Definition flag-types.h:546
@ OPENACC_KERNELS_PARLOOPS
Definition flag-types.h:547
stack_reuse_level
Definition flag-types.h:157
@ SR_NONE
Definition flag-types.h:158
@ SR_NAMED_VARS
Definition flag-types.h:159
@ SR_ALL
Definition flag-types.h:160
gfc_init_local_real
Definition flag-types.h:423
@ GFC_INIT_REAL_NAN
Definition flag-types.h:426
@ GFC_INIT_REAL_OFF
Definition flag-types.h:424
@ GFC_INIT_REAL_ZERO
Definition flag-types.h:425
@ GFC_INIT_REAL_SNAN
Definition flag-types.h:427
@ GFC_INIT_REAL_INF
Definition flag-types.h:428
@ GFC_INIT_REAL_NEG_INF
Definition flag-types.h:429
callgraph_info_type
Definition flag-types.h:249
@ CALLGRAPH_INFO_DYNAMIC_ALLOC
Definition flag-types.h:260
@ NO_CALLGRAPH_INFO
Definition flag-types.h:251
@ CALLGRAPH_INFO_STACK_USAGE
Definition flag-types.h:257
@ CALLGRAPH_INFO_NAKED
Definition flag-types.h:254
reorder_blocks_algorithm
Definition flag-types.h:183
@ REORDER_BLOCKS_ALGORITHM_STC
Definition flag-types.h:185
@ REORDER_BLOCKS_ALGORITHM_SIMPLE
Definition flag-types.h:184
ira_region
Definition flag-types.h:197
@ IRA_REGION_ONE
Definition flag-types.h:198
@ IRA_REGION_MIXED
Definition flag-types.h:200
@ IRA_REGION_ALL
Definition flag-types.h:199
scalar_storage_order_kind
Definition flag-types.h:271
@ SSO_LITTLE_ENDIAN
Definition flag-types.h:274
@ SSO_NATIVE
Definition flag-types.h:272
@ SSO_BIG_ENDIAN
Definition flag-types.h:273
#define GFC_INL_INTR_UNSET_VAL(val)
Definition flag-types.h:467
debug_info_usage
Definition flag-types.h:88
@ DINFO_USAGE_DIR_USE
Definition flag-types.h:90
@ DINFO_USAGE_DFN
Definition flag-types.h:89
@ DINFO_USAGE_IND_USE
Definition flag-types.h:91
@ DINFO_USAGE_NUM_ENUMS
Definition flag-types.h:92
incremental_link
Definition flag-types.h:377
@ INCREMENTAL_LINK_NOLTO
Definition flag-types.h:380
@ INCREMENTAL_LINK_LTO
Definition flag-types.h:382
@ INCREMENTAL_LINK_NONE
Definition flag-types.h:378
cf_protection_level
Definition flag-types.h:504
@ CF_RETURN
Definition flag-types.h:507
@ CF_BRANCH
Definition flag-types.h:506
@ CF_CHECK
Definition flag-types.h:510
@ CF_SET
Definition flag-types.h:509
@ CF_NONE
Definition flag-types.h:505
@ CF_FULL
Definition flag-types.h:508
Definition flag-types.h:354
const unsigned int LEAFY_GPR_ARG
Definition flag-types.h:370
const unsigned int SKIP
Definition flag-types.h:356
const unsigned int USED_ARG
Definition flag-types.h:364
const unsigned int UNSET
Definition flag-types.h:355
const unsigned int LEAFY_GPR
Definition flag-types.h:371
const unsigned int LEAFY_MODE
Definition flag-types.h:361
const unsigned int USED_GPR_ARG
Definition flag-types.h:362
const unsigned int ALL
Definition flag-types.h:369
const unsigned int ALL_GPR_ARG
Definition flag-types.h:366
const unsigned int ENABLED
Definition flag-types.h:360
const unsigned int LEAFY
Definition flag-types.h:373
const unsigned int ONLY_GPR
Definition flag-types.h:358
const unsigned int ONLY_ARG
Definition flag-types.h:359
const unsigned int ALL_GPR
Definition flag-types.h:367
const unsigned int ALL_ARG
Definition flag-types.h:368
const unsigned int LEAFY_ARG
Definition flag-types.h:372
const unsigned int USED
Definition flag-types.h:365
const unsigned int USED_GPR
Definition flag-types.h:363
const unsigned int ONLY_USED
Definition flag-types.h:357