OLD | NEW |
1 //===- subzero/src/IceClFlags.cpp - Command line flags and parsing --------===// | 1 //===- subzero/src/IceClFlags.cpp - Command line flags and parsing --------===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
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 /// \file | 10 /// \file |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 cl::NotHidden, cl::aliasopt(AllowExternDefinedSymbolsObj)); | 99 cl::NotHidden, cl::aliasopt(AllowExternDefinedSymbolsObj)); |
100 | 100 |
101 std::string AppNameObj; | 101 std::string AppNameObj; |
102 | 102 |
103 } // end of anonymous namespace | 103 } // end of anonymous namespace |
104 | 104 |
105 namespace Ice { | 105 namespace Ice { |
106 | 106 |
107 void ClFlags::parseFlags(int argc, char **argv) { | 107 void ClFlags::parseFlags(int argc, char **argv) { |
108 cl::ParseCommandLineOptions(argc, argv); | 108 cl::ParseCommandLineOptions(argc, argv); |
109 AppNameObj = IceString(argv[0]); | 109 AppNameObj = argv[0]; |
110 } | 110 } |
111 | 111 |
112 namespace { | 112 namespace { |
113 // flagInitOrStorageTypeDefault is some template voodoo for peeling off the | 113 // flagInitOrStorageTypeDefault is some template voodoo for peeling off the |
114 // llvm::cl modifiers from a flag's declaration, until its initial value is | 114 // llvm::cl modifiers from a flag's declaration, until its initial value is |
115 // found. If none is found, then the default value for the storage type is | 115 // found. If none is found, then the default value for the storage type is |
116 // returned. | 116 // returned. |
117 template <typename Ty> Ty flagInitOrStorageTypeDefault() { return Ty(); } | 117 template <typename Ty> Ty flagInitOrStorageTypeDefault() { return Ty(); } |
118 | 118 |
119 template <typename Ty, typename T, typename... A> | 119 template <typename Ty, typename T, typename... A> |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 #undef X | 187 #undef X |
188 | 188 |
189 // If any value needs a non-trivial parsed value, set it below. | 189 // If any value needs a non-trivial parsed value, set it below. |
190 OutFlags.setAllowExternDefinedSymbols(AllowExternDefinedSymbolsObj || | 190 OutFlags.setAllowExternDefinedSymbols(AllowExternDefinedSymbolsObj || |
191 DisableInternalObj); | 191 DisableInternalObj); |
192 OutFlags.setDisableHybridAssembly(DisableHybridAssemblyObj || | 192 OutFlags.setDisableHybridAssembly(DisableHybridAssemblyObj || |
193 (OutFileTypeObj != Ice::FT_Iasm)); | 193 (OutFileTypeObj != Ice::FT_Iasm)); |
194 } | 194 } |
195 | 195 |
196 } // end of namespace Ice | 196 } // end of namespace Ice |
OLD | NEW |