Mercurial > hg > CbC > CbC_llvm
comparison tools/clang/include/clang/Basic/LangOptions.def @ 126:c4cc77a799c9
fix
author | mir3636 |
---|---|
date | Mon, 04 Dec 2017 21:20:52 +0900 |
parents | 36195a0db682 |
children | 7c836c76d71d |
comparison
equal
deleted
inserted
replaced
125:56c5119fbcd2 | 126:c4cc77a799c9 |
---|---|
22 // | 22 // |
23 // ENUM_LANGOPT: for options that have enumeration, rather than unsigned, type. | 23 // ENUM_LANGOPT: for options that have enumeration, rather than unsigned, type. |
24 // | 24 // |
25 // VALUE_LANGOPT: for options that describe a value rather than a flag. | 25 // VALUE_LANGOPT: for options that describe a value rather than a flag. |
26 // | 26 // |
27 // BENIGN_ENUM_LANGOPT, COMPATIBLE_ENUM_LANGOPT: combinations of the above. | 27 // BENIGN_ENUM_LANGOPT, COMPATIBLE_ENUM_LANGOPT, |
28 // BENIGN_VALUE_LANGOPT, COMPATIBLE_VALUE_LANGOPT: combinations of the above. | |
28 // | 29 // |
29 // FIXME: Clients should be able to more easily select whether they want | 30 // FIXME: Clients should be able to more easily select whether they want |
30 // different levels of compatibility versus how to handle different kinds | 31 // different levels of compatibility versus how to handle different kinds |
31 // of option. | 32 // of option. |
33 // | |
34 // The Description field should be a noun phrase, for instance "frobbing all | |
35 // widgets" or "C's implicit blintz feature". | |
32 //===----------------------------------------------------------------------===// | 36 //===----------------------------------------------------------------------===// |
33 | 37 |
34 #ifndef LANGOPT | 38 #ifndef LANGOPT |
35 # error Define the LANGOPT macro to handle language options | 39 # error Define the LANGOPT macro to handle language options |
36 #endif | 40 #endif |
61 #endif | 65 #endif |
62 | 66 |
63 #ifndef VALUE_LANGOPT | 67 #ifndef VALUE_LANGOPT |
64 # define VALUE_LANGOPT(Name, Bits, Default, Description) \ | 68 # define VALUE_LANGOPT(Name, Bits, Default, Description) \ |
65 LANGOPT(Name, Bits, Default, Description) | 69 LANGOPT(Name, Bits, Default, Description) |
70 #endif | |
71 | |
72 #ifndef COMPATIBLE_VALUE_LANGOPT | |
73 # define COMPATIBLE_VALUE_LANGOPT(Name, Bits, Default, Description) \ | |
74 VALUE_LANGOPT(Name, Bits, Default, Description) | |
75 #endif | |
76 | |
77 #ifndef BENIGN_VALUE_LANGOPT | |
78 # define BENIGN_VALUE_LANGOPT(Name, Bits, Default, Description) \ | |
79 COMPATIBLE_VALUE_LANGOPT(Name, Bits, Default, Description) | |
66 #endif | 80 #endif |
67 | 81 |
68 // FIXME: A lot of the BENIGN_ options should be COMPATIBLE_ instead. | 82 // FIXME: A lot of the BENIGN_ options should be COMPATIBLE_ instead. |
69 LANGOPT(C99 , 1, 0, "C99") | 83 LANGOPT(C99 , 1, 0, "C99") |
70 LANGOPT(C11 , 1, 0, "C11") | 84 LANGOPT(C11 , 1, 0, "C11") |
73 LANGOPT(AsmBlocks , 1, 0, "Microsoft inline asm blocks") | 87 LANGOPT(AsmBlocks , 1, 0, "Microsoft inline asm blocks") |
74 LANGOPT(Borland , 1, 0, "Borland extensions") | 88 LANGOPT(Borland , 1, 0, "Borland extensions") |
75 LANGOPT(CPlusPlus , 1, 0, "C++") | 89 LANGOPT(CPlusPlus , 1, 0, "C++") |
76 LANGOPT(CPlusPlus11 , 1, 0, "C++11") | 90 LANGOPT(CPlusPlus11 , 1, 0, "C++11") |
77 LANGOPT(CPlusPlus14 , 1, 0, "C++14") | 91 LANGOPT(CPlusPlus14 , 1, 0, "C++14") |
78 LANGOPT(CPlusPlus1z , 1, 0, "C++1z") | 92 LANGOPT(CPlusPlus1z , 1, 0, "C++17") |
93 LANGOPT(CPlusPlus2a , 1, 0, "C++2a") | |
79 LANGOPT(ObjC1 , 1, 0, "Objective-C 1") | 94 LANGOPT(ObjC1 , 1, 0, "Objective-C 1") |
80 LANGOPT(ObjC2 , 1, 0, "Objective-C 2") | 95 LANGOPT(ObjC2 , 1, 0, "Objective-C 2") |
81 BENIGN_LANGOPT(ObjCDefaultSynthProperties , 1, 0, | 96 BENIGN_LANGOPT(ObjCDefaultSynthProperties , 1, 0, |
82 "Objective-C auto-synthesized properties") | 97 "Objective-C auto-synthesized properties") |
83 BENIGN_LANGOPT(EncodeExtendedBlockSig , 1, 0, | 98 BENIGN_LANGOPT(EncodeExtendedBlockSig , 1, 0, |
91 LANGOPT(Half , 1, 0, "half keyword") | 106 LANGOPT(Half , 1, 0, "half keyword") |
92 LANGOPT(WChar , 1, CPlusPlus, "wchar_t keyword") | 107 LANGOPT(WChar , 1, CPlusPlus, "wchar_t keyword") |
93 LANGOPT(DeclSpecKeyword , 1, 0, "__declspec keyword") | 108 LANGOPT(DeclSpecKeyword , 1, 0, "__declspec keyword") |
94 BENIGN_LANGOPT(DollarIdents , 1, 1, "'$' in identifiers") | 109 BENIGN_LANGOPT(DollarIdents , 1, 1, "'$' in identifiers") |
95 BENIGN_LANGOPT(AsmPreprocessor, 1, 0, "preprocessor in asm mode") | 110 BENIGN_LANGOPT(AsmPreprocessor, 1, 0, "preprocessor in asm mode") |
96 BENIGN_LANGOPT(GNUMode , 1, 1, "GNU extensions") | 111 LANGOPT(GNUMode , 1, 1, "GNU extensions") |
97 LANGOPT(GNUKeywords , 1, 1, "GNU keywords") | 112 LANGOPT(GNUKeywords , 1, 1, "GNU keywords") |
98 BENIGN_LANGOPT(ImplicitInt, 1, !C99 && !CPlusPlus, "C89 implicit 'int'") | 113 BENIGN_LANGOPT(ImplicitInt, 1, !C99 && !CPlusPlus, "C89 implicit 'int'") |
99 LANGOPT(Digraphs , 1, 0, "digraphs") | 114 LANGOPT(Digraphs , 1, 0, "digraphs") |
100 BENIGN_LANGOPT(HexFloats , 1, C99, "C99 hexadecimal float constants") | 115 BENIGN_LANGOPT(HexFloats , 1, C99, "C99 hexadecimal float constants") |
101 LANGOPT(CXXOperatorNames , 1, 0, "C++ operator name keywords") | 116 LANGOPT(CXXOperatorNames , 1, 0, "C++ operator name keywords") |
108 LANGOPT(ZVector , 1, 0, "System z vector extensions") | 123 LANGOPT(ZVector , 1, 0, "System z vector extensions") |
109 LANGOPT(Exceptions , 1, 0, "exception handling") | 124 LANGOPT(Exceptions , 1, 0, "exception handling") |
110 LANGOPT(ObjCExceptions , 1, 0, "Objective-C exceptions") | 125 LANGOPT(ObjCExceptions , 1, 0, "Objective-C exceptions") |
111 LANGOPT(CXXExceptions , 1, 0, "C++ exceptions") | 126 LANGOPT(CXXExceptions , 1, 0, "C++ exceptions") |
112 LANGOPT(SjLjExceptions , 1, 0, "setjmp-longjump exception handling") | 127 LANGOPT(SjLjExceptions , 1, 0, "setjmp-longjump exception handling") |
128 LANGOPT(ExternCNoUnwind , 1, 0, "Assume extern C functions don't unwind") | |
113 LANGOPT(TraditionalCPP , 1, 0, "traditional CPP emulation") | 129 LANGOPT(TraditionalCPP , 1, 0, "traditional CPP emulation") |
114 LANGOPT(RTTI , 1, 1, "run-time type information") | 130 LANGOPT(RTTI , 1, 1, "run-time type information") |
115 LANGOPT(RTTIData , 1, 1, "emit run-time type information data") | 131 LANGOPT(RTTIData , 1, 1, "emit run-time type information data") |
116 LANGOPT(MSBitfields , 1, 0, "Microsoft-compatible structure layout") | 132 LANGOPT(MSBitfields , 1, 0, "Microsoft-compatible structure layout") |
117 LANGOPT(Freestanding, 1, 0, "freestanding implementation") | 133 LANGOPT(Freestanding, 1, 0, "freestanding implementation") |
118 LANGOPT(NoBuiltin , 1, 0, "disable builtin functions") | 134 LANGOPT(NoBuiltin , 1, 0, "disable builtin functions") |
119 LANGOPT(NoMathBuiltin , 1, 0, "disable math builtin functions") | 135 LANGOPT(NoMathBuiltin , 1, 0, "disable math builtin functions") |
120 LANGOPT(GNUAsm , 1, 1, "GNU-style inline assembly") | 136 LANGOPT(GNUAsm , 1, 1, "GNU-style inline assembly") |
121 LANGOPT(Coroutines , 1, 0, "C++ coroutines") | 137 LANGOPT(CoroutinesTS , 1, 0, "C++ coroutines TS") |
138 LANGOPT(RelaxedTemplateTemplateArgs, 1, 0, "C++17 relaxed matching of template template arguments") | |
139 | |
140 LANGOPT(DoubleSquareBracketAttributes, 1, 0, "'[[]]' attributes extension for all language standard modes") | |
122 | 141 |
123 BENIGN_LANGOPT(ThreadsafeStatics , 1, 1, "thread-safe static initializers") | 142 BENIGN_LANGOPT(ThreadsafeStatics , 1, 1, "thread-safe static initializers") |
124 LANGOPT(POSIXThreads , 1, 0, "POSIX thread support") | 143 LANGOPT(POSIXThreads , 1, 0, "POSIX thread support") |
125 LANGOPT(Blocks , 1, 0, "blocks extension to C") | 144 LANGOPT(Blocks , 1, 0, "blocks extension to C") |
126 BENIGN_LANGOPT(EmitAllDecls , 1, 0, "support for emitting all declarations") | 145 BENIGN_LANGOPT(EmitAllDecls , 1, 0, "emitting all declarations") |
127 LANGOPT(MathErrno , 1, 1, "errno support for math functions") | 146 LANGOPT(MathErrno , 1, 1, "errno in math functions") |
128 BENIGN_LANGOPT(HeinousExtensions , 1, 0, "Extensions that we really don't like and may be ripped out at any time") | 147 BENIGN_LANGOPT(HeinousExtensions , 1, 0, "extensions that we really don't like and may be ripped out at any time") |
129 LANGOPT(Modules , 1, 0, "modules extension to C") | 148 LANGOPT(Modules , 1, 0, "modules extension to C") |
149 COMPATIBLE_LANGOPT(ModulesTS , 1, 0, "C++ Modules TS") | |
150 BENIGN_ENUM_LANGOPT(CompilingModule, CompilingModuleKind, 2, CMK_None, | |
151 "compiling a module interface") | |
152 BENIGN_LANGOPT(CompilingPCH, 1, 0, "building a pch") | |
130 COMPATIBLE_LANGOPT(ModulesDeclUse , 1, 0, "require declaration of module uses") | 153 COMPATIBLE_LANGOPT(ModulesDeclUse , 1, 0, "require declaration of module uses") |
131 LANGOPT(ModulesSearchAll , 1, 1, "search even non-imported modules to find unresolved references") | 154 BENIGN_LANGOPT(ModulesSearchAll , 1, 1, "searching even non-imported modules to find unresolved references") |
132 COMPATIBLE_LANGOPT(ModulesStrictDeclUse, 1, 0, "require declaration of module uses and all headers to be in modules") | 155 COMPATIBLE_LANGOPT(ModulesStrictDeclUse, 1, 0, "requiring declaration of module uses and all headers to be in modules") |
133 BENIGN_LANGOPT(ModulesErrorRecovery, 1, 1, "automatically import modules as needed when performing error recovery") | 156 BENIGN_LANGOPT(ModulesErrorRecovery, 1, 1, "automatically importing modules as needed when performing error recovery") |
134 BENIGN_LANGOPT(ImplicitModules, 1, 1, "build modules that are not specified via -fmodule-file") | 157 BENIGN_LANGOPT(ImplicitModules, 1, 1, "building modules that are not specified via -fmodule-file") |
135 COMPATIBLE_LANGOPT(ModulesLocalVisibility, 1, 0, "local submodule visibility") | 158 COMPATIBLE_LANGOPT(ModulesLocalVisibility, 1, 0, "local submodule visibility") |
136 COMPATIBLE_LANGOPT(Optimize , 1, 0, "__OPTIMIZE__ predefined macro") | 159 COMPATIBLE_LANGOPT(Optimize , 1, 0, "__OPTIMIZE__ predefined macro") |
137 COMPATIBLE_LANGOPT(OptimizeSize , 1, 0, "__OPTIMIZE_SIZE__ predefined macro") | 160 COMPATIBLE_LANGOPT(OptimizeSize , 1, 0, "__OPTIMIZE_SIZE__ predefined macro") |
138 LANGOPT(Static , 1, 0, "__STATIC__ predefined macro (as opposed to __DYNAMIC__)") | 161 COMPATIBLE_LANGOPT(Static , 1, 0, "__STATIC__ predefined macro (as opposed to __DYNAMIC__)") |
139 VALUE_LANGOPT(PackStruct , 32, 0, | 162 VALUE_LANGOPT(PackStruct , 32, 0, |
140 "default struct packing maximum alignment") | 163 "default struct packing maximum alignment") |
141 VALUE_LANGOPT(MaxTypeAlign , 32, 0, | 164 VALUE_LANGOPT(MaxTypeAlign , 32, 0, |
142 "default maximum alignment for types") | 165 "default maximum alignment for types") |
143 VALUE_LANGOPT(PICLevel , 2, 0, "__PIC__ level") | 166 VALUE_LANGOPT(AlignDouble , 1, 0, "Controls if doubles should be aligned to 8 bytes (x86 only)") |
144 VALUE_LANGOPT(PIELevel , 2, 0, "__PIE__ level") | 167 COMPATIBLE_VALUE_LANGOPT(PICLevel , 2, 0, "__PIC__ level") |
145 LANGOPT(GNUInline , 1, 0, "GNU inline semantics") | 168 COMPATIBLE_VALUE_LANGOPT(PIE , 1, 0, "is pie") |
169 COMPATIBLE_LANGOPT(GNUInline , 1, 0, "GNU inline semantics") | |
146 COMPATIBLE_LANGOPT(NoInlineDefine , 1, 0, "__NO_INLINE__ predefined macro") | 170 COMPATIBLE_LANGOPT(NoInlineDefine , 1, 0, "__NO_INLINE__ predefined macro") |
147 COMPATIBLE_LANGOPT(Deprecated , 1, 0, "__DEPRECATED predefined macro") | 171 COMPATIBLE_LANGOPT(Deprecated , 1, 0, "__DEPRECATED predefined macro") |
148 LANGOPT(FastMath , 1, 0, "__FAST_MATH__ predefined macro") | 172 COMPATIBLE_LANGOPT(FastMath , 1, 0, "fast FP math optimizations, and __FAST_MATH__ predefined macro") |
149 LANGOPT(FiniteMathOnly , 1, 0, "__FINITE_MATH_ONLY__ predefined macro") | 173 COMPATIBLE_LANGOPT(FiniteMathOnly , 1, 0, "__FINITE_MATH_ONLY__ predefined macro") |
150 LANGOPT(UnsafeFPMath , 1, 0, "Unsafe Floating Point Math") | 174 COMPATIBLE_LANGOPT(UnsafeFPMath , 1, 0, "Unsafe Floating Point Math") |
151 | 175 |
152 BENIGN_LANGOPT(ObjCGCBitmapPrint , 1, 0, "printing of GC's bitmap layout for __weak/__strong ivars") | 176 BENIGN_LANGOPT(ObjCGCBitmapPrint , 1, 0, "printing of GC's bitmap layout for __weak/__strong ivars") |
153 | 177 |
154 BENIGN_LANGOPT(AccessControl , 1, 1, "C++ access control") | 178 BENIGN_LANGOPT(AccessControl , 1, 1, "C++ access control") |
155 LANGOPT(CharIsSigned , 1, 1, "signed char") | 179 LANGOPT(CharIsSigned , 1, 1, "signed char") |
156 LANGOPT(ShortWChar , 1, 0, "unsigned short wchar_t") | 180 LANGOPT(WCharSize , 4, 0, "width of wchar_t") |
181 LANGOPT(WCharIsSigned , 1, 0, "signed or unsigned wchar_t") | |
157 ENUM_LANGOPT(MSPointerToMemberRepresentationMethod, PragmaMSPointersToMembersKind, 2, PPTMK_BestCase, "member-pointer representation method") | 182 ENUM_LANGOPT(MSPointerToMemberRepresentationMethod, PragmaMSPointersToMembersKind, 2, PPTMK_BestCase, "member-pointer representation method") |
183 ENUM_LANGOPT(DefaultCallingConv, DefaultCallingConvention, 3, DCC_None, "default calling convention") | |
158 | 184 |
159 LANGOPT(ShortEnums , 1, 0, "short enum types") | 185 LANGOPT(ShortEnums , 1, 0, "short enum types") |
160 | 186 |
161 LANGOPT(OpenCL , 1, 0, "OpenCL") | 187 LANGOPT(OpenCL , 1, 0, "OpenCL") |
162 LANGOPT(OpenCLVersion , 32, 0, "OpenCL version") | 188 LANGOPT(OpenCLVersion , 32, 0, "OpenCL version") |
163 LANGOPT(NativeHalfType , 1, 0, "Native half type support") | 189 LANGOPT(NativeHalfType , 1, 0, "Native half type support") |
190 LANGOPT(NativeHalfArgsAndReturns, 1, 0, "Native half args and returns") | |
164 LANGOPT(HalfArgsAndReturns, 1, 0, "half args and returns") | 191 LANGOPT(HalfArgsAndReturns, 1, 0, "half args and returns") |
165 LANGOPT(CUDA , 1, 0, "CUDA") | 192 LANGOPT(CUDA , 1, 0, "CUDA") |
166 LANGOPT(OpenMP , 1, 0, "OpenMP support") | 193 LANGOPT(OpenMP , 32, 0, "OpenMP support and version of OpenMP (31, 40 or 45)") |
167 LANGOPT(OpenMPUseTLS , 1, 0, "Use TLS for threadprivates or runtime calls") | 194 LANGOPT(OpenMPUseTLS , 1, 0, "Use TLS for threadprivates or runtime calls") |
168 LANGOPT(OpenMPIsDevice , 1, 0, "Generate code only for OpenMP target device") | 195 LANGOPT(OpenMPIsDevice , 1, 0, "Generate code only for OpenMP target device") |
169 | 196 LANGOPT(RenderScript , 1, 0, "RenderScript") |
170 LANGOPT(CUDAIsDevice , 1, 0, "Compiling for CUDA device") | 197 |
171 LANGOPT(CUDAAllowHostCallsFromHostDevice, 1, 0, "Allow host device functions to call host functions") | 198 LANGOPT(CUDAIsDevice , 1, 0, "compiling for CUDA device") |
172 LANGOPT(CUDADisableTargetCallChecks, 1, 0, "Disable checks for call targets (host, device, etc.)") | 199 LANGOPT(CUDAAllowVariadicFunctions, 1, 0, "allowing variadic functions in CUDA device code") |
173 LANGOPT(CUDATargetOverloads, 1, 0, "Enable function overloads based on CUDA target attributes") | 200 LANGOPT(CUDAHostDeviceConstexpr, 1, 1, "treating unattributed constexpr functions as __host__ __device__") |
174 | 201 LANGOPT(CUDADeviceFlushDenormalsToZero, 1, 0, "flushing denormals to zero") |
175 LANGOPT(AssumeSaneOperatorNew , 1, 1, "implicit __attribute__((malloc)) for C++'s new operators") | 202 LANGOPT(CUDADeviceApproxTranscendentals, 1, 0, "using approximate transcendental functions") |
176 LANGOPT(SizedDeallocation , 1, 0, "enable sized deallocation functions") | 203 |
204 LANGOPT(SizedDeallocation , 1, 0, "sized deallocation") | |
205 LANGOPT(AlignedAllocation , 1, 0, "aligned allocation") | |
206 LANGOPT(AlignedAllocationUnavailable, 1, 0, "aligned allocation functions are unavailable") | |
207 LANGOPT(NewAlignOverride , 32, 0, "maximum alignment guaranteed by '::operator new(size_t)'") | |
177 LANGOPT(ConceptsTS , 1, 0, "enable C++ Extensions for Concepts") | 208 LANGOPT(ConceptsTS , 1, 0, "enable C++ Extensions for Concepts") |
209 BENIGN_LANGOPT(ModulesCodegen , 1, 0, "Modules code generation") | |
210 BENIGN_LANGOPT(ModulesDebugInfo , 1, 0, "Modules debug info") | |
178 BENIGN_LANGOPT(ElideConstructors , 1, 1, "C++ copy constructor elision") | 211 BENIGN_LANGOPT(ElideConstructors , 1, 1, "C++ copy constructor elision") |
179 BENIGN_LANGOPT(DumpRecordLayouts , 1, 0, "dumping the layout of IRgen'd records") | 212 BENIGN_LANGOPT(DumpRecordLayouts , 1, 0, "dumping the layout of IRgen'd records") |
180 BENIGN_LANGOPT(DumpRecordLayoutsSimple , 1, 0, "dumping the layout of IRgen'd records in a simple form") | 213 BENIGN_LANGOPT(DumpRecordLayoutsSimple , 1, 0, "dumping the layout of IRgen'd records in a simple form") |
181 BENIGN_LANGOPT(DumpVTableLayouts , 1, 0, "dumping the layouts of emitted vtables") | 214 BENIGN_LANGOPT(DumpVTableLayouts , 1, 0, "dumping the layouts of emitted vtables") |
182 LANGOPT(NoConstantCFStrings , 1, 0, "no constant CoreFoundation strings") | 215 LANGOPT(NoConstantCFStrings , 1, 0, "no constant CoreFoundation strings") |
187 BENIGN_LANGOPT(DebuggerObjCLiteral , 1, 0, "debugger Objective-C literals and subscripting support") | 220 BENIGN_LANGOPT(DebuggerObjCLiteral , 1, 0, "debugger Objective-C literals and subscripting support") |
188 | 221 |
189 BENIGN_LANGOPT(SpellChecking , 1, 1, "spell-checking") | 222 BENIGN_LANGOPT(SpellChecking , 1, 1, "spell-checking") |
190 LANGOPT(SinglePrecisionConstants , 1, 0, "treating double-precision floating point constants as single precision constants") | 223 LANGOPT(SinglePrecisionConstants , 1, 0, "treating double-precision floating point constants as single precision constants") |
191 LANGOPT(FastRelaxedMath , 1, 0, "OpenCL fast relaxed math") | 224 LANGOPT(FastRelaxedMath , 1, 0, "OpenCL fast relaxed math") |
192 LANGOPT(DefaultFPContract , 1, 0, "FP_CONTRACT") | 225 /// \brief FP_CONTRACT mode (on/off/fast). |
226 ENUM_LANGOPT(DefaultFPContractMode, FPContractModeKind, 2, FPC_Off, "FP contraction type") | |
193 LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment") | 227 LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment") |
194 LANGOPT(HexagonQdsp6Compat , 1, 0, "hexagon-qdsp6 backward compatibility") | 228 LANGOPT(HexagonQdsp6Compat , 1, 0, "hexagon-qdsp6 backward compatibility") |
195 LANGOPT(ObjCAutoRefCount , 1, 0, "Objective-C automated reference counting") | 229 LANGOPT(ObjCAutoRefCount , 1, 0, "Objective-C automated reference counting") |
196 LANGOPT(ObjCWeakRuntime , 1, 0, "__weak support in the ARC runtime") | 230 LANGOPT(ObjCWeakRuntime , 1, 0, "__weak support in the ARC runtime") |
197 LANGOPT(ObjCWeak , 1, 0, "Objective-C __weak in ARC and MRC files") | 231 LANGOPT(ObjCWeak , 1, 0, "Objective-C __weak in ARC and MRC files") |
198 LANGOPT(ObjCSubscriptingLegacyRuntime , 1, 0, "Subscripting support in legacy ObjectiveC runtime") | 232 LANGOPT(ObjCSubscriptingLegacyRuntime , 1, 0, "Subscripting support in legacy ObjectiveC runtime") |
199 LANGOPT(FakeAddressSpaceMap , 1, 0, "OpenCL fake address space map") | 233 LANGOPT(FakeAddressSpaceMap , 1, 0, "OpenCL fake address space map") |
200 ENUM_LANGOPT(AddressSpaceMapMangling , AddrSpaceMapMangling, 2, ASMM_Target, "OpenCL address space map mangling mode") | 234 ENUM_LANGOPT(AddressSpaceMapMangling , AddrSpaceMapMangling, 2, ASMM_Target, "OpenCL address space map mangling mode") |
201 | 235 LANGOPT(IncludeDefaultHeader, 1, 0, "Include default header file for OpenCL") |
202 LANGOPT(MRTD , 1, 0, "-mrtd calling convention") | |
203 BENIGN_LANGOPT(DelayedTemplateParsing , 1, 0, "delayed template parsing") | 236 BENIGN_LANGOPT(DelayedTemplateParsing , 1, 0, "delayed template parsing") |
204 LANGOPT(BlocksRuntimeOptional , 1, 0, "optional blocks runtime") | 237 LANGOPT(BlocksRuntimeOptional , 1, 0, "optional blocks runtime") |
205 | 238 |
206 ENUM_LANGOPT(GC, GCMode, 2, NonGC, "Objective-C Garbage Collection mode") | 239 ENUM_LANGOPT(GC, GCMode, 2, NonGC, "Objective-C Garbage Collection mode") |
207 ENUM_LANGOPT(ValueVisibilityMode, Visibility, 3, DefaultVisibility, | 240 ENUM_LANGOPT(ValueVisibilityMode, Visibility, 3, DefaultVisibility, |
213 ENUM_LANGOPT(SignedOverflowBehavior, SignedOverflowBehaviorTy, 2, SOB_Undefined, | 246 ENUM_LANGOPT(SignedOverflowBehavior, SignedOverflowBehaviorTy, 2, SOB_Undefined, |
214 "signed integer overflow handling") | 247 "signed integer overflow handling") |
215 | 248 |
216 BENIGN_LANGOPT(ArrowDepth, 32, 256, | 249 BENIGN_LANGOPT(ArrowDepth, 32, 256, |
217 "maximum number of operator->s to follow") | 250 "maximum number of operator->s to follow") |
218 BENIGN_LANGOPT(InstantiationDepth, 32, 256, | 251 BENIGN_LANGOPT(InstantiationDepth, 32, 1024, |
219 "maximum template instantiation depth") | 252 "maximum template instantiation depth") |
220 BENIGN_LANGOPT(ConstexprCallDepth, 32, 512, | 253 BENIGN_LANGOPT(ConstexprCallDepth, 32, 512, |
221 "maximum constexpr call depth") | 254 "maximum constexpr call depth") |
222 BENIGN_LANGOPT(ConstexprStepLimit, 32, 1048576, | 255 BENIGN_LANGOPT(ConstexprStepLimit, 32, 1048576, |
223 "maximum constexpr evaluation steps") | 256 "maximum constexpr evaluation steps") |
234 | 267 |
235 LANGOPT(SanitizeAddressFieldPadding, 2, 0, "controls how aggressive is ASan " | 268 LANGOPT(SanitizeAddressFieldPadding, 2, 0, "controls how aggressive is ASan " |
236 "field padding (0: none, 1:least " | 269 "field padding (0: none, 1:least " |
237 "aggressive, 2: more aggressive)") | 270 "aggressive, 2: more aggressive)") |
238 | 271 |
272 LANGOPT(XRayInstrument, 1, 0, "controls whether to do XRay instrumentation") | |
273 | |
274 BENIGN_LANGOPT(AllowEditorPlaceholders, 1, 0, | |
275 "allow editor placeholders in source") | |
239 | 276 |
240 #ifndef noCbC | 277 #ifndef noCbC |
241 LANGOPT(HasCodeSegment , 1, 0, "CbC") | 278 LANGOPT(HasCodeSegment , 1, 0, "CbC") |
242 #endif | 279 #endif |
243 | 280 |
246 #undef BENIGN_LANGOPT | 283 #undef BENIGN_LANGOPT |
247 #undef ENUM_LANGOPT | 284 #undef ENUM_LANGOPT |
248 #undef COMPATIBLE_ENUM_LANGOPT | 285 #undef COMPATIBLE_ENUM_LANGOPT |
249 #undef BENIGN_ENUM_LANGOPT | 286 #undef BENIGN_ENUM_LANGOPT |
250 #undef VALUE_LANGOPT | 287 #undef VALUE_LANGOPT |
251 | 288 #undef COMPATIBLE_VALUE_LANGOPT |
289 #undef BENIGN_VALUE_LANGOPT | |
290 |