OLD | NEW |
1 //===--- CodeGenOptions.h ---------------------------------------*- C++ -*-===// | 1 //===--- CodeGenOptions.h ---------------------------------------*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines the CodeGenOptions interface. | 10 // This file defines the CodeGenOptions interface. |
(...skipping 17 matching lines...) Expand all Loading... |
28 NormalInlining, // Use the standard function inlining pass. | 28 NormalInlining, // Use the standard function inlining pass. |
29 OnlyAlwaysInlining // Only run the always inlining pass. | 29 OnlyAlwaysInlining // Only run the always inlining pass. |
30 }; | 30 }; |
31 | 31 |
32 enum ObjCDispatchMethodKind { | 32 enum ObjCDispatchMethodKind { |
33 Legacy = 0, | 33 Legacy = 0, |
34 NonLegacy = 1, | 34 NonLegacy = 1, |
35 Mixed = 2 | 35 Mixed = 2 |
36 }; | 36 }; |
37 | 37 |
| 38 unsigned AddressSanitizer : 1; /// Enable AddressSanitizer. |
38 unsigned AsmVerbose : 1; /// -dA, -fverbose-asm. | 39 unsigned AsmVerbose : 1; /// -dA, -fverbose-asm. |
39 unsigned ObjCAutoRefCountExceptions : 1; /// Whether ARC should be EH-safe. | 40 unsigned ObjCAutoRefCountExceptions : 1; /// Whether ARC should be EH-safe. |
40 unsigned CXAAtExit : 1; /// Use __cxa_atexit for calling destructors. | 41 unsigned CXAAtExit : 1; /// Use __cxa_atexit for calling destructors. |
41 unsigned CXXCtorDtorAliases: 1; /// Emit complete ctors/dtors as linker | 42 unsigned CXXCtorDtorAliases: 1; /// Emit complete ctors/dtors as linker |
42 /// aliases to base ctors when possible. | 43 /// aliases to base ctors when possible. |
43 unsigned DataSections : 1; /// Set when -fdata-sections is enabled | 44 unsigned DataSections : 1; /// Set when -fdata-sections is enabled |
44 unsigned DebugInfo : 1; /// Should generate debug info (-g). | 45 unsigned DebugInfo : 1; /// Should generate debug info (-g). |
45 unsigned LimitDebugInfo : 1; /// Limit generated debug info to reduce size. | 46 unsigned LimitDebugInfo : 1; /// Limit generated debug info to reduce size. |
46 unsigned DisableFPElim : 1; /// Set when -fomit-frame-pointer is enabled. | 47 unsigned DisableFPElim : 1; /// Set when -fomit-frame-pointer is enabled. |
47 unsigned DisableLLVMOpts : 1; /// Don't run any optimizations, for use in | 48 unsigned DisableLLVMOpts : 1; /// Don't run any optimizations, for use in |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 | 135 |
135 /// A list of command-line options to forward to the LLVM backend. | 136 /// A list of command-line options to forward to the LLVM backend. |
136 std::vector<std::string> BackendOptions; | 137 std::vector<std::string> BackendOptions; |
137 | 138 |
138 /// The user specified number of registers to be used for integral arguments, | 139 /// The user specified number of registers to be used for integral arguments, |
139 /// or 0 if unspecified. | 140 /// or 0 if unspecified. |
140 unsigned NumRegisterParameters; | 141 unsigned NumRegisterParameters; |
141 | 142 |
142 public: | 143 public: |
143 CodeGenOptions() { | 144 CodeGenOptions() { |
| 145 AddressSanitizer = 0; |
144 AsmVerbose = 0; | 146 AsmVerbose = 0; |
145 CXAAtExit = 1; | 147 CXAAtExit = 1; |
146 CXXCtorDtorAliases = 0; | 148 CXXCtorDtorAliases = 0; |
147 DataSections = 0; | 149 DataSections = 0; |
148 DebugInfo = 0; | 150 DebugInfo = 0; |
149 LimitDebugInfo = 0; | 151 LimitDebugInfo = 0; |
150 DisableFPElim = 0; | 152 DisableFPElim = 0; |
151 DisableLLVMOpts = 0; | 153 DisableLLVMOpts = 0; |
152 DisableRedZone = 0; | 154 DisableRedZone = 0; |
153 EmitDeclMetadata = 0; | 155 EmitDeclMetadata = 0; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 } | 195 } |
194 | 196 |
195 ObjCDispatchMethodKind getObjCDispatchMethod() const { | 197 ObjCDispatchMethodKind getObjCDispatchMethod() const { |
196 return ObjCDispatchMethodKind(ObjCDispatchMethod); | 198 return ObjCDispatchMethodKind(ObjCDispatchMethod); |
197 } | 199 } |
198 }; | 200 }; |
199 | 201 |
200 } // end namespace clang | 202 } // end namespace clang |
201 | 203 |
202 #endif | 204 #endif |
OLD | NEW |