Coverage Report

Created: 2019-07-24 05:18

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/clang/include/clang/Basic/LangOptions.def
Line
Count
Source
1
1.01M
//===--- LangOptions.def - Language option database -------------*- C++ -*-===//
2
1.01M
//
3
1.01M
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
1.01M
// See https://llvm.org/LICENSE.txt for license information.
5
1.01M
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
1.01M
//
7
1.01M
//===----------------------------------------------------------------------===//
8
1.01M
//
9
1.01M
// This file defines the language options. Users of this file must
10
1.01M
// define the LANGOPT macro to make use of this information.
11
1.01M
//
12
1.01M
// Optionally, the user may also define:
13
1.01M
//
14
1.01M
// BENIGN_LANGOPT: for options that don't affect the construction of the AST in
15
1.01M
//     any way (that is, the value can be different between an implicit module
16
1.01M
//     and the user of that module).
17
1.01M
//
18
1.01M
// COMPATIBLE_LANGOPT: for options that affect the construction of the AST in
19
1.01M
//     a way that doesn't prevent interoperability (that is, the value can be
20
1.01M
//     different between an explicit module and the user of that module).
21
1.01M
//
22
1.01M
// ENUM_LANGOPT: for options that have enumeration, rather than unsigned, type.
23
1.01M
//
24
1.01M
// VALUE_LANGOPT: for options that describe a value rather than a flag.
25
1.01M
//
26
1.01M
// BENIGN_ENUM_LANGOPT, COMPATIBLE_ENUM_LANGOPT,
27
1.01M
// BENIGN_VALUE_LANGOPT, COMPATIBLE_VALUE_LANGOPT: combinations of the above.
28
1.01M
//
29
1.01M
// FIXME: Clients should be able to more easily select whether they want
30
1.01M
// different levels of compatibility versus how to handle different kinds
31
1.01M
// of option.
32
1.01M
//
33
1.01M
// The Description field should be a noun phrase, for instance "frobbing all
34
1.01M
// widgets" or "C's implicit blintz feature".
35
1.01M
//===----------------------------------------------------------------------===//
36
1.01M
37
#ifndef LANGOPT
38
#  error Define the LANGOPT macro to handle language options
39
#endif
40
41
#ifndef COMPATIBLE_LANGOPT
42
#  define COMPATIBLE_LANGOPT(Name, Bits, Default, Description) \
43
53.3M
     LANGOPT(Name, Bits, Default, Description)
44
#endif
45
46
#ifndef BENIGN_LANGOPT
47
#  define BENIGN_LANGOPT(Name, Bits, Default, Description) \
48
39.2M
     COMPATIBLE_LANGOPT(Name, Bits, Default, Description)
49
#endif
50
51
#ifndef ENUM_LANGOPT
52
#  define ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
53
     LANGOPT(Name, Bits, Default, Description)
54
#endif
55
56
#ifndef COMPATIBLE_ENUM_LANGOPT
57
#  define COMPATIBLE_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
58
1.00M
     ENUM_LANGOPT(Name, Type, Bits, Default, Description)
59
#endif
60
61
#ifndef BENIGN_ENUM_LANGOPT
62
#  define BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
63
1.00M
     COMPATIBLE_ENUM_LANGOPT(Name, Type, Bits, Default, Description)
64
#endif
65
66
#ifndef VALUE_LANGOPT
67
#  define VALUE_LANGOPT(Name, Bits, Default, Description) \
68
9.06M
     LANGOPT(Name, Bits, Default, Description)
69
#endif
70
71
#ifndef COMPATIBLE_VALUE_LANGOPT
72
#  define COMPATIBLE_VALUE_LANGOPT(Name, Bits, Default, Description) \
73
3.02M
     VALUE_LANGOPT(Name, Bits, Default, Description)
74
#endif
75
76
#ifndef BENIGN_VALUE_LANGOPT
77
#  define BENIGN_VALUE_LANGOPT(Name, Bits, Default, Description) \
78
     COMPATIBLE_VALUE_LANGOPT(Name, Bits, Default, Description)
79
#endif
80
81
1.01M
// FIXME: A lot of the BENIGN_ options should be COMPATIBLE_ instead.
82
1.01M
LANGOPT1.01M
(C99 , 1, 0, "C99")
83
1.01M
LANGOPT1.01M
(C11 , 1, 0, "C11")
84
1.01M
LANGOPT(C17               , 1, 0, "C17")
85
1.01M
LANGOPT(C2x               , 1, 0, "C2x")
86
1.01M
LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ full compatibility mode")
87
1.01M
LANGOPT(MicrosoftExt      , 1, 0, "Microsoft C++ extensions")
88
1.01M
LANGOPT(AsmBlocks         , 1, 0, "Microsoft inline asm blocks")
89
1.01M
LANGOPT(Borland           , 1, 0, "Borland extensions")
90
1.01M
LANGOPT(CPlusPlus         , 1, 0, "C++")
91
1.01M
LANGOPT(CPlusPlus11       , 1, 0, "C++11")
92
1.01M
LANGOPT(CPlusPlus14       , 1, 0, "C++14")
93
1.01M
LANGOPT(CPlusPlus17       , 1, 0, "C++17")
94
1.01M
LANGOPT(CPlusPlus2a       , 1, 0, "C++2a")
95
1.01M
LANGOPT(ObjC              , 1, 0, "Objective-C")
96
1.00M
BENIGN_LANGOPT(ObjCDefaultSynthProperties , 1, 0,
97
4.11k
               "Objective-C auto-synthesized properties")
98
1.00M
BENIGN_LANGOPT(EncodeExtendedBlockSig , 1, 0,
99
4.11k
               "Encoding extended block type signature")
100
1.00M
BENIGN_LANGOPT(ObjCInferRelatedResultType , 1, 1,
101
4.11k
               "Objective-C related result type inference")
102
1.01M
LANGOPT(AppExt , 1, 0, "Objective-C App Extension")
103
1.01M
LANGOPT(Trigraphs         , 1, 0,"trigraphs")
104
1.01M
LANGOPT(LineComment       , 1, 0, "'//' comments")
105
1.01M
LANGOPT(Bool              , 1, 0, "bool, true, and false keywords")
106
1.01M
LANGOPT(Half              , 1, 0, "half keyword")
107
1.01M
LANGOPT(WChar             , 1, CPlusPlus, "wchar_t keyword")
108
1.01M
LANGOPT(Char8             , 1, 0, "char8_t keyword")
109
1.01M
LANGOPT(DeclSpecKeyword   , 1, 0, "__declspec keyword")
110
1.00M
BENIGN_LANGOPT(DollarIdents   , 1, 1, "'$' in identifiers")
111
1.00M
BENIGN_LANGOPT(AsmPreprocessor, 1, 0, "preprocessor in asm mode")
112
1.01M
LANGOPT(GNUMode           , 1, 1, "GNU extensions")
113
1.01M
LANGOPT(GNUKeywords       , 1, 1, "GNU keywords")
114
1.00M
BENIGN_LANGOPT(ImplicitInt, 1, !C99 && !CPlusPlus, "C89 implicit 'int'")
115
1.01M
LANGOPT(Digraphs          , 1, 0, "digraphs")
116
1.00M
BENIGN_LANGOPT(HexFloats  , 1, C99, "C99 hexadecimal float constants")
117
1.01M
LANGOPT(CXXOperatorNames  , 1, 0, "C++ operator name keywords")
118
1.01M
LANGOPT(AppleKext         , 1, 0, "Apple kext support")
119
1.00M
BENIGN_LANGOPT(PascalStrings, 1, 0, "Pascal string support")
120
1.01M
LANGOPT(WritableStrings   , 1, 0, "writable string support")
121
1.01M
LANGOPT(ConstStrings      , 1, 0, "const-qualified string support")
122
1.01M
LANGOPT(LaxVectorConversions , 1, 1, "lax vector conversions")
123
1.01M
LANGOPT(AltiVec           , 1, 0, "AltiVec-style vector initializers")
124
1.01M
LANGOPT(ZVector           , 1, 0, "System z vector extensions")
125
1.01M
LANGOPT(Exceptions        , 1, 0, "exception handling")
126
1.01M
LANGOPT(ObjCExceptions    , 1, 0, "Objective-C exceptions")
127
1.01M
LANGOPT(CXXExceptions     , 1, 0, "C++ exceptions")
128
1.01M
LANGOPT(DWARFExceptions   , 1, 0, "dwarf exception handling")
129
1.01M
LANGOPT(SjLjExceptions    , 1, 0, "setjmp-longjump exception handling")
130
1.01M
LANGOPT(SEHExceptions     , 1, 0, "SEH .xdata exception handling")
131
1.01M
LANGOPT(ExternCNoUnwind   , 1, 0, "Assume extern C functions don't unwind")
132
1.01M
LANGOPT(TraditionalCPP    , 1, 0, "traditional CPP emulation")
133
1.01M
LANGOPT(RTTI              , 1, 1, "run-time type information")
134
1.01M
LANGOPT(RTTIData          , 1, 1, "emit run-time type information data")
135
1.01M
LANGOPT(MSBitfields       , 1, 0, "Microsoft-compatible structure layout")
136
1.01M
LANGOPT(Freestanding, 1, 0, "freestanding implementation")
137
1.01M
LANGOPT(NoBuiltin         , 1, 0, "disable builtin functions")
138
1.01M
LANGOPT(NoMathBuiltin     , 1, 0, "disable math builtin functions")
139
1.01M
LANGOPT(GNUAsm            , 1, 1, "GNU-style inline assembly")
140
1.01M
LANGOPT(Coroutines        , 1, 0, "C++20 coroutines")
141
1.01M
LANGOPT(DllExportInlines  , 1, 1, "dllexported classes dllexport inline methods")
142
1.01M
LANGOPT(RelaxedTemplateTemplateArgs, 1, 0, "C++17 relaxed matching of template template arguments")
143
4.10k
144
1.01M
LANGOPT(DoubleSquareBracketAttributes, 1, 0, "'[[]]' attributes extension for all language standard modes")
145
4.10k
146
1.00M
BENIGN_LANGOPT(ThreadsafeStatics , 1, 1, "thread-safe static initializers")
147
1.01M
LANGOPT(POSIXThreads      , 1, 0, "POSIX thread support")
148
1.01M
LANGOPT(Blocks            , 1, 0, "blocks extension to C")
149
1.00M
BENIGN_LANGOPT(EmitAllDecls      , 1, 0, "emitting all declarations")
150
1.01M
LANGOPT(MathErrno         , 1, 1, "errno in math functions")
151
1.00M
BENIGN_LANGOPT(HeinousExtensions , 1, 0, "extensions that we really don't like and may be ripped out at any time")
152
1.01M
LANGOPT(Modules           , 1, 0, "modules semantics")
153
1.01M
COMPATIBLE_LANGOPT(ModulesTS  , 1, 0, "C++ Modules TS syntax")
154
1.01M
COMPATIBLE_LANGOPT(CPlusPlusModules, 1, 0, "C++ modules syntax")
155
1.00M
BENIGN_ENUM_LANGOPT(CompilingModule, CompilingModuleKind, 2, CMK_None,
156
4.10k
                    "compiling a module interface")
157
1.00M
BENIGN_LANGOPT(CompilingPCH, 1, 0, "building a pch")
158
1.00M
BENIGN_LANGOPT(BuildingPCHWithObjectFile, 1, 0, "building a pch which has a corresponding object file")
159
1.00M
BENIGN_LANGOPT(CacheGeneratedPCH, 1, 0, "cache generated PCH files in memory")
160
1.01M
COMPATIBLE_LANGOPT(ModulesDeclUse    , 1, 0, "require declaration of module uses")
161
1.00M
BENIGN_LANGOPT(ModulesSearchAll  , 1, 1, "searching even non-imported modules to find unresolved references")
162
1.01M
COMPATIBLE_LANGOPT(ModulesStrictDeclUse, 1, 0, "requiring declaration of module uses and all headers to be in modules")
163
1.00M
BENIGN_LANGOPT(ModulesErrorRecovery, 1, 1, "automatically importing modules as needed when performing error recovery")
164
1.00M
BENIGN_LANGOPT(ImplicitModules, 1, 1, "building modules that are not specified via -fmodule-file")
165
1.01M
COMPATIBLE_LANGOPT(ModulesLocalVisibility, 1, 0, "local submodule visibility")
166
1.01M
COMPATIBLE_LANGOPT(Optimize          , 1, 0, "__OPTIMIZE__ predefined macro")
167
1.01M
COMPATIBLE_LANGOPT(OptimizeSize      , 1, 0, "__OPTIMIZE_SIZE__ predefined macro")
168
1.01M
COMPATIBLE_LANGOPT(Static            , 1, 0, "__STATIC__ predefined macro (as opposed to __DYNAMIC__)")
169
1.01M
VALUE_LANGOPT(PackStruct  , 32, 0,
170
4.09k
              "default struct packing maximum alignment")
171
1.01M
VALUE_LANGOPT(MaxTypeAlign  , 32, 0,
172
4.09k
              "default maximum alignment for types")
173
1.01M
VALUE_LANGOPT(AlignDouble            , 1, 0, "Controls if doubles should be aligned to 8 bytes (x86 only)")
174
1.01M
VALUE_LANGOPT(LongDoubleSize        , 32, 0, "width of long double")
175
1.01M
LANGOPT(PPCIEEELongDouble            , 1, 0, "use IEEE 754 quadruple-precision for long double")
176
1.01M
COMPATIBLE_VALUE_LANGOPT(PICLevel    , 2, 0, "__PIC__ level")
177
1.01M
COMPATIBLE_VALUE_LANGOPT(PIE         , 1, 0, "is pie")
178
1.01M
LANGOPT(ROPI                         , 1, 0, "Read-only position independence")
179
1.01M
LANGOPT(RWPI                         , 1, 0, "Read-write position independence")
180
1.01M
COMPATIBLE_LANGOPT(GNUInline         , 1, 0, "GNU inline semantics")
181
1.01M
COMPATIBLE_LANGOPT(NoInlineDefine    , 1, 0, "__NO_INLINE__ predefined macro")
182
1.01M
COMPATIBLE_LANGOPT(Deprecated        , 1, 0, "__DEPRECATED predefined macro")
183
1.01M
COMPATIBLE_LANGOPT(FastMath          , 1, 0, "fast FP math optimizations, and __FAST_MATH__ predefined macro")
184
1.01M
COMPATIBLE_LANGOPT(FiniteMathOnly    , 1, 0, "__FINITE_MATH_ONLY__ predefined macro")
185
1.01M
COMPATIBLE_LANGOPT(UnsafeFPMath      , 1, 0, "Unsafe Floating Point Math")
186
4.09k
187
1.00M
BENIGN_LANGOPT(ObjCGCBitmapPrint , 1, 0, "printing of GC's bitmap layout for __weak/__strong ivars")
188
4.09k
189
1.00M
BENIGN_LANGOPT(AccessControl     , 1, 1, "C++ access control")
190
1.01M
LANGOPT(CharIsSigned      , 1, 1, "signed char")
191
1.01M
LANGOPT(WCharSize         , 4, 0, "width of wchar_t")
192
1.01M
LANGOPT(WCharIsSigned        , 1, 0, "signed or unsigned wchar_t")
193
1.01M
ENUM_LANGOPT(MSPointerToMemberRepresentationMethod, PragmaMSPointersToMembersKind, 2, PPTMK_BestCase, "member-pointer representation method")
194
1.01M
ENUM_LANGOPT(DefaultCallingConv, DefaultCallingConvention, 3, DCC_None, "default calling convention")
195
4.09k
196
1.01M
LANGOPT(ShortEnums        , 1, 0, "short enum types")
197
4.09k
198
1.01M
LANGOPT(OpenCL            , 1, 0, "OpenCL")
199
1.01M
LANGOPT(OpenCLVersion     , 32, 0, "OpenCL C version")
200
1.01M
LANGOPT(OpenCLCPlusPlus   , 1, 0, "C++ for OpenCL")
201
1.01M
LANGOPT(OpenCLCPlusPlusVersion     , 32, 0, "C++ for OpenCL version")
202
1.01M
LANGOPT(NativeHalfType    , 1, 0, "Native half type support")
203
1.01M
LANGOPT(NativeHalfArgsAndReturns, 1, 0, "Native half args and returns")
204
1.01M
LANGOPT(HalfArgsAndReturns, 1, 0, "half args and returns")
205
1.01M
LANGOPT(CUDA              , 1, 0, "CUDA")
206
1.01M
LANGOPT(HIP               , 1, 0, "HIP")
207
1.01M
LANGOPT(OpenMP            , 32, 0, "OpenMP support and version of OpenMP (31, 40 or 45)")
208
1.01M
LANGOPT(OpenMPSimd        , 1, 0, "Use SIMD only OpenMP support.")
209
1.01M
LANGOPT(OpenMPUseTLS      , 1, 0, "Use TLS for threadprivates or runtime calls")
210
1.01M
LANGOPT(OpenMPIsDevice    , 1, 0, "Generate code only for OpenMP target device")
211
1.01M
LANGOPT(OpenMPCUDAMode    , 1, 0, "Generate code for OpenMP pragmas in SIMT/SPMD mode")
212
1.01M
LANGOPT(OpenMPCUDAForceFullRuntime , 1, 0, "Force to use full runtime in all constructs when offloading to CUDA devices")
213
1.01M
LANGOPT(OpenMPCUDANumSMs  , 32, 0, "Number of SMs for CUDA devices.")
214
1.01M
LANGOPT(OpenMPCUDABlocksPerSM  , 32, 0, "Number of blocks per SM for CUDA devices.")
215
1.01M
LANGOPT(OpenMPCUDAReductionBufNum , 32, 1024, "Number of the reduction records in the intermediate reduction buffer used for the teams reductions.")
216
1.01M
LANGOPT(OpenMPOptimisticCollapse  , 1, 0, "Use at most 32 bits to represent the collapsed loop nest counter.")
217
1.01M
LANGOPT(RenderScript      , 1, 0, "RenderScript")
218
4.09k
219
1.01M
LANGOPT(CUDAIsDevice      , 1, 0, "compiling for CUDA device")
220
1.01M
LANGOPT(CUDAAllowVariadicFunctions, 1, 0, "allowing variadic functions in CUDA device code")
221
1.01M
LANGOPT(CUDAHostDeviceConstexpr, 1, 1, "treating unattributed constexpr functions as __host__ __device__")
222
1.01M
LANGOPT(CUDADeviceApproxTranscendentals, 1, 0, "using approximate transcendental functions")
223
1.01M
LANGOPT(GPURelocatableDeviceCode, 1, 0, "generate relocatable device code")
224
4.09k
225
1.01M
LANGOPT(SYCLIsDevice      , 1, 0, "Generate code for SYCL device")
226
4.09k
227
1.01M
LANGOPT(SizedDeallocation , 1, 0, "sized deallocation")
228
1.01M
LANGOPT(AlignedAllocation , 1, 0, "aligned allocation")
229
1.01M
LANGOPT(AlignedAllocationUnavailable, 1, 0, "aligned allocation functions are unavailable")
230
1.01M
LANGOPT(NewAlignOverride  , 32, 0, "maximum alignment guaranteed by '::operator new(size_t)'")
231
1.01M
LANGOPT(ConceptsTS , 1, 0, "enable C++ Extensions for Concepts")
232
1.00M
BENIGN_LANGOPT(ModulesCodegen , 1, 0, "Modules code generation")
233
1.00M
BENIGN_LANGOPT(ModulesDebugInfo , 1, 0, "Modules debug info")
234
1.00M
BENIGN_LANGOPT(ElideConstructors , 1, 1, "C++ copy constructor elision")
235
1.00M
BENIGN_LANGOPT(DumpRecordLayouts , 1, 0, "dumping the layout of IRgen'd records")
236
1.00M
BENIGN_LANGOPT(DumpRecordLayoutsSimple , 1, 0, "dumping the layout of IRgen'd records in a simple form")
237
1.00M
BENIGN_LANGOPT(DumpVTableLayouts , 1, 0, "dumping the layouts of emitted vtables")
238
1.01M
LANGOPT(NoConstantCFStrings , 1, 0, "no constant CoreFoundation strings")
239
1.00M
BENIGN_LANGOPT(InlineVisibilityHidden , 1, 0, "hidden visibility for inline C++ methods")
240
1.01M
LANGOPT(GlobalAllocationFunctionVisibilityHidden , 1, 0, "hidden visibility for global operator new and delete declaration")
241
1.00M
BENIGN_LANGOPT(ParseUnknownAnytype, 1, 0, "__unknown_anytype")
242
1.00M
BENIGN_LANGOPT(DebuggerSupport , 1, 0, "debugger support")
243
1.00M
BENIGN_LANGOPT(DebuggerCastResultToId, 1, 0, "for 'po' in the debugger, cast the result to id if it is of unknown type")
244
1.00M
BENIGN_LANGOPT(DebuggerObjCLiteral , 1, 0, "debugger Objective-C literals and subscripting support")
245
4.09k
246
1.00M
BENIGN_LANGOPT(SpellChecking , 1, 1, "spell-checking")
247
1.01M
LANGOPT(SinglePrecisionConstants , 1, 0, "treating double-precision floating point constants as single precision constants")
248
1.01M
LANGOPT(FastRelaxedMath , 1, 0, "OpenCL fast relaxed math")
249
4.09k
/// FP_CONTRACT mode (on/off/fast).
250
1.01M
ENUM_LANGOPT(DefaultFPContractMode, FPContractModeKind, 2, FPC_Off, "FP contraction type")
251
1.01M
LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment")
252
1.01M
LANGOPT(HexagonQdsp6Compat , 1, 0, "hexagon-qdsp6 backward compatibility")
253
1.01M
LANGOPT(ObjCAutoRefCount , 1, 0, "Objective-C automated reference counting")
254
1.01M
LANGOPT(ObjCWeakRuntime     , 1, 0, "__weak support in the ARC runtime")
255
1.01M
LANGOPT(ObjCWeak            , 1, 0, "Objective-C __weak in ARC and MRC files")
256
1.01M
LANGOPT(ObjCSubscriptingLegacyRuntime         , 1, 0, "Subscripting support in legacy ObjectiveC runtime")
257
1.01M
LANGOPT(CFProtectionBranch , 1, 0, "Control-Flow Branch Protection enabled")
258
1.01M
LANGOPT(FakeAddressSpaceMap , 1, 0, "OpenCL fake address space map")
259
1.01M
ENUM_LANGOPT(AddressSpaceMapMangling , AddrSpaceMapMangling, 2, ASMM_Target, "OpenCL address space map mangling mode")
260
1.01M
LANGOPT(IncludeDefaultHeader, 1, 0, "Include default header file for OpenCL")
261
1.01M
LANGOPT(DeclareOpenCLBuiltins, 1, 0, "Declare OpenCL builtin functions")
262
1.00M
BENIGN_LANGOPT(DelayedTemplateParsing , 1, 0, "delayed template parsing")
263
1.01M
LANGOPT(BlocksRuntimeOptional , 1, 0, "optional blocks runtime")
264
1.01M
LANGOPT(
265
4.09k
    CompleteMemberPointers, 1, 0,
266
4.09k
    "Require member pointer base types to be complete at the point where the "
267
4.09k
    "type's inheritance model would be determined under the Microsoft ABI")
268
4.09k
269
1.01M
ENUM_LANGOPT(GC, GCMode, 2, NonGC, "Objective-C Garbage Collection mode")
270
1.01M
ENUM_LANGOPT(ValueVisibilityMode, Visibility, 3, DefaultVisibility,
271
4.09k
             "default visibility for functions and variables [-fvisibility]")
272
1.01M
ENUM_LANGOPT(TypeVisibilityMode, Visibility, 3, DefaultVisibility,
273
4.09k
             "default visibility for types [-ftype-visibility]")
274
1.01M
LANGOPT(SetVisibilityForExternDecls, 1, 0,
275
4.09k
        "apply global symbol visibility to external declarations without an explicit visibility")
276
1.01M
ENUM_LANGOPT(StackProtector, StackProtectorMode, 2, SSPOff,
277
4.09k
             "stack protector mode")
278
1.01M
ENUM_LANGOPT(TrivialAutoVarInit, TrivialAutoVarInitKind, 2, TrivialAutoVarInitKind::Uninitialized,
279
4.09k
             "trivial automatic variable initialization")
280
1.01M
ENUM_LANGOPT(SignedOverflowBehavior, SignedOverflowBehaviorTy, 2, SOB_Undefined,
281
4.09k
             "signed integer overflow handling")
282
4.09k
283
1.00M
BENIGN_LANGOPT(ArrowDepth, 32, 256,
284
4.09k
               "maximum number of operator->s to follow")
285
1.00M
BENIGN_LANGOPT(InstantiationDepth, 32, 1024,
286
4.09k
               "maximum template instantiation depth")
287
1.00M
BENIGN_LANGOPT(ConstexprCallDepth, 32, 512,
288
4.09k
               "maximum constexpr call depth")
289
1.00M
BENIGN_LANGOPT(ConstexprStepLimit, 32, 1048576,
290
4.09k
               "maximum constexpr evaluation steps")
291
1.00M
BENIGN_LANGOPT(BracketDepth, 32, 256,
292
4.09k
               "maximum bracket nesting depth")
293
1.00M
BENIGN_LANGOPT(NumLargeByValueCopy, 32, 0,
294
4.09k
        "if non-zero, warn about parameter or return Warn if parameter/return value is larger in bytes than this setting. 0 is no check.")
295
1.01M
VALUE_LANGOPT(MSCompatibilityVersion, 32, 0, "Microsoft Visual C/C++ Version")
296
1.01M
VALUE_LANGOPT(VtorDispMode, 2, 1, "How many vtordisps to insert")
297
4.09k
298
1.01M
LANGOPT(ApplePragmaPack, 1, 0, "Apple gcc-compatible #pragma pack handling")
299
4.09k
300
1.01M
LANGOPT(RetainCommentsFromSystemHeaders, 1, 0, "retain documentation comments from system headers in the AST")
301
4.09k
302
1.01M
LANGOPT(SanitizeAddressFieldPadding, 2, 0, "controls how aggressive is ASan "
303
4.09k
                                           "field padding (0: none, 1:least "
304
4.09k
                                           "aggressive, 2: more aggressive)")
305
4.09k
306
1.01M
LANGOPT(Cmse, 1, 0, "ARM Security extensions support")
307
4.09k
308
1.01M
LANGOPT(XRayInstrument, 1, 0, "controls whether to do XRay instrumentation")
309
1.01M
LANGOPT(XRayAlwaysEmitCustomEvents, 1, 0,
310
4.09k
        "controls whether to always emit intrinsic calls to "
311
4.09k
        "__xray_customevent(...) builtin.")
312
1.01M
LANGOPT(XRayAlwaysEmitTypedEvents, 1, 0,
313
4.09k
        "controls whether to always emit intrinsic calls to "
314
4.09k
        "__xray_typedevent(...) builtin.")
315
4.09k
316
1.01M
LANGOPT(ForceEmitVTables, 1, 0, "whether to emit all vtables")
317
4.09k
318
1.00M
BENIGN_LANGOPT(AllowEditorPlaceholders, 1, 0,
319
4.09k
               "allow editor placeholders in source")
320
4.09k
321
1.01M
ENUM_LANGOPT(ClangABICompat, ClangABI, 4, ClangABI::Latest,
322
4.09k
             "version of Clang that we should attempt to be ABI-compatible "
323
4.09k
             "with")
324
4.09k
325
1.01M
COMPATIBLE_VALUE_LANGOPT(FunctionAlignment, 5, 0, "Default alignment for functions")
326
4.09k
327
1.01M
LANGOPT(FixedPoint, 1, 0, "fixed point types")
328
1.01M
LANGOPT(PaddingOnUnsignedFixedPoint, 1, 0,
329
4.09k
        "unsigned fixed point types having one extra padding bit")
330
4.09k
331
1.01M
LANGOPT(RegisterStaticDestructors, 1, 1, "Register C++ static destructors")
332
4.09k
333
4.09k
#undef LANGOPT
334
4.09k
#undef COMPATIBLE_LANGOPT
335
4.09k
#undef BENIGN_LANGOPT
336
4.09k
#undef ENUM_LANGOPT
337
4.09k
#undef COMPATIBLE_ENUM_LANGOPT
338
4.09k
#undef BENIGN_ENUM_LANGOPT
339
4.09k
#undef VALUE_LANGOPT
340
4.09k
#undef COMPATIBLE_VALUE_LANGOPT
341
4.09k
#undef BENIGN_VALUE_LANGOPT