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