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