1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// String table
11
12#if defined(OPTTABLE_STR_TABLE_CODE) || defined(OPTTABLE_CODE)
13
14#ifdef __GNUC__
15#pragma GCC diagnostic push
16#pragma GCC diagnostic ignored "-Woverlength-strings"
17#endif
18static constexpr char OptionStrTableStorage[] =
19 "\0"
20 "-\0"
21 "--\0"
22 "kind\0"
23 "OPTIONS (COFF specific)\0"
24 "OPTIONS (Mach-O specific)\0"
25 "<input>\0"
26 "<unknown>\0"
27 "--allow-broken-links\0"
28 "Allow the tool to remove sections even if it would leave invalid section references. The appropriate sh_link fields will be set to zero.\0"
29 "--disable-deterministic-archives\0"
30 "Disable deterministic mode when operating on archives (use real values for UIDs, GIDs, and timestamps).\0"
31 "--discard-all\0"
32 "Remove most local symbols. Different file formats may limit this to a subset. For ELF, file and section symbols are not discarded. Additionally, remove all debug sections\0"
33 "--discard-locals\0"
34 "Remove local symbols starting with .L\0"
35 "-D\0"
36 "Alias for --enable-deterministic-archives\0"
37 "-d\0"
38 "Alias for --strip-debug\0"
39 "--enable-deterministic-archives\0"
40 "Enable deterministic mode when operating on archives (use zero for UIDs, GIDs, and timestamps).\0"
41 "--extract-section=\0"
42 "Extract section named <section> into standalone object in file <file>\0"
43 "section=file\0"
44 "--extract-section\0"
45 "-g\0"
46 "--help\0"
47 "-h\0"
48 "--keep-file-symbols\0"
49 "Keep symbols of type STT_FILE, even if they would otherwise be stripped\0"
50 "--keep-section=\0"
51 "Keep <section>\0"
52 "section\0"
53 "--keep-section\0"
54 "--keep-symbol=\0"
55 "When removing symbols, do not remove <symbol>\0"
56 "symbol\0"
57 "--keep-symbol\0"
58 "--keep-undefined\0"
59 "Do not remove undefined symbols\0"
60 "-K\0"
61 "Alias for --keep-symbol\0"
62 "--no-strip-all\0"
63 "Disable --strip-all\0"
64 "-N\0"
65 "Alias for --strip-symbol\0"
66 "--only-keep-debug\0"
67 "Produce a debug file as the output that only preserves contents of sections useful for debugging purposes\0"
68 "-o\0"
69 "Write output to <file>\0"
70 "<file>\0"
71 "--preserve-dates\0"
72 "Preserve access and modification timestamps\0"
73 "-p\0"
74 "Alias for --preserve-dates\0"
75 "--regex\0"
76 "Permit regular expressions in name comparison\0"
77 "--remove-section=\0"
78 "Remove <section>\0"
79 "--remove-section\0"
80 "-R\0"
81 "Alias for --remove-section\0"
82 "--strip-all-gnu\0"
83 "Remove all symbols, debug sections and relocations. Compatible with GNU's --strip-all\0"
84 "--strip-all\0"
85 "For ELF, remove all symbols and non-alloc sections not within segments, except for .gnu.warning*, .ARM.attribute, and the section name table. For COFF and Mach-O, remove all symbols, debug sections, and relocations. For WebAssembly, remove all custom sections except for metadata.code.*\0"
86 "--strip-debug\0"
87 "Remove all debug sections\0"
88 "--strip-sections\0"
89 "Remove all section headers and all section data not within segments\0"
90 "--strip-symbol=\0"
91 "Strip <symbol>\0"
92 "--strip-symbol\0"
93 "--strip-unneeded\0"
94 "Remove all symbols not needed by relocations\0"
95 "-S\0"
96 "-s\0"
97 "Alias for --strip-all\0"
98 "-T\0"
99 "Remove Swift symbols\0"
100 "-U\0"
101 "Alias for --disable-deterministic-archives\0"
102 "--verbose\0"
103 "Print the paths of files that are copied\0"
104 "--version\0"
105 "Print the version and exit.\0"
106 "-V\0"
107 "Alias for --version\0"
108 "-v\0"
109 "Alias for --verbose\0"
110 "--wildcard\0"
111 "Allow wildcard syntax for symbol-related flags. Incompatible with --regex. Allows using '*' to match any number of characters, '?' to match any single character, '' to escape special characters, and '[]' to define character classes. Wildcards beginning with '!' will prevent a match, for example \"-N '*' -N '!x'\" will strip all symbols except for \"x\".\0"
112 "-w\0"
113 "Alias for --wildcard\0"
114 "-X\0"
115 "Alias for --discard-locals\0"
116 "-x\0"
117 "Alias for --discard-all\0"
118 ;
119#ifdef __GNUC__
120#pragma GCC diagnostic pop
121#endif
122
123static constexpr llvm::StringTable
124OptionStrTable = OptionStrTableStorage;
125#undef OPTTABLE_STR_TABLE_CODE
126#endif // OPTTABLE_STR_TABLE_CODE || OPTTABLE_CODE
127
128/////////
129// Tables
130
131#ifdef OPTTABLE_CODE
132static llvm::opt::OptTable::Tables optionTables() {
133 static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
134 0 /* prefixes */,
135 1 /* prefixes */, 1 /* '-' */,
136 1 /* prefixes */, 3 /* '--' */
137 };
138
139 static constexpr llvm::opt::OptTable::HelpTextVariant OptionHelpTextVariantsTable[] = {
140 {0, 0},
141 };
142
143 static constexpr unsigned OptionSubCommandIDsTable[] = {
144 0 /* subcommands */
145 };
146
147 static constexpr llvm::opt::OptTable::InfoExtra OptionInfoExtrasTable[] = {
148 {0, 0, 0, 0, 0},
149 {903, 0, 0, 0, 0},
150 {1070, 0, 0, 0, 0},
151 {1154, 0, 0, 0, 0},
152 {1464, 0, 0, 0, 0},
153 };
154
155 static constexpr llvm::opt::OptTable::Info OptionInfoTable[] = {
156 {6 /* kind */, 11, 0, 0, 0, 0, 0, 0, llvm::opt::Option::GroupClass, 0},
157 {6 /* kind */, 35, 0, 0, 0, 0, 0, 0, llvm::opt::Option::GroupClass, 0},
158 {61 /* <input> */, 0, 0, DefaultVis, 0, 0, 0, 0, llvm::opt::Option::InputClass, 0},
159 {69 /* <unknown> */, 0, 0, DefaultVis, 0, 0, 0, 0, llvm::opt::Option::UnknownClass, 0},
160 {79 /* --allow-broken-links */, 100, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
161 {237 /* --disable-deterministic-archives */, 270, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
162 {374 /* --discard-all */, 388, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
163 {559 /* --discard-locals */, 576, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
164 {614 /* -D */, 617, 0, DefaultVis, 1, 0, 11, 0, llvm::opt::Option::FlagClass, 0},
165 {659 /* -d */, 662, 0, DefaultVis, 1, 0, 36, 0, llvm::opt::Option::FlagClass, 0},
166 {686 /* --enable-deterministic-archives */, 718, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
167 {814 /* --extract-section= */, 833, 0, DefaultVis, 3, 0, 13, 1, llvm::opt::Option::JoinedClass, 0},
168 {916 /* --extract-section */, 0, 0, DefaultVis, 3, 0, 0, 1, llvm::opt::Option::SeparateClass, 0},
169 {934 /* -g */, 662, 0, DefaultVis, 1, 0, 36, 0, llvm::opt::Option::FlagClass, 0},
170 {937 /* --help */, 0, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
171 {944 /* -h */, 0, 0, DefaultVis, 1, 0, 15, 0, llvm::opt::Option::FlagClass, 0},
172 {947 /* --keep-file-symbols */, 967, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
173 {1039 /* --keep-section= */, 1055, 0, DefaultVis, 3, 0, 19, 2, llvm::opt::Option::JoinedClass, 0},
174 {1078 /* --keep-section */, 0, 0, DefaultVis, 3, 0, 0, 2, llvm::opt::Option::SeparateClass, 0},
175 {1093 /* --keep-symbol= */, 1108, 0, DefaultVis, 3, 0, 21, 3, llvm::opt::Option::JoinedClass, 0},
176 {1161 /* --keep-symbol */, 0, 0, DefaultVis, 3, 0, 0, 3, llvm::opt::Option::SeparateClass, 0},
177 {1175 /* --keep-undefined */, 1192, 0, DefaultVis, 3, 2, 0, 0, llvm::opt::Option::FlagClass, 0},
178 {1224 /* -K */, 1227, 0, DefaultVis, 1, 0, 21, 0, llvm::opt::Option::JoinedOrSeparateClass, 0},
179 {1251 /* --no-strip-all */, 1266, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
180 {1286 /* -N */, 1289, 0, DefaultVis, 1, 0, 39, 0, llvm::opt::Option::JoinedOrSeparateClass, 0},
181 {1314 /* --only-keep-debug */, 1332, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
182 {1438 /* -o */, 1441, 0, DefaultVis, 1, 0, 0, 4, llvm::opt::Option::JoinedOrSeparateClass, 0},
183 {1471 /* --preserve-dates */, 1488, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
184 {1532 /* -p */, 1535, 0, DefaultVis, 1, 0, 28, 0, llvm::opt::Option::FlagClass, 0},
185 {1562 /* --regex */, 1570, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
186 {1616 /* --remove-section= */, 1634, 0, DefaultVis, 3, 0, 32, 2, llvm::opt::Option::JoinedClass, 0},
187 {1651 /* --remove-section */, 0, 0, DefaultVis, 3, 0, 0, 2, llvm::opt::Option::SeparateClass, 0},
188 {1668 /* -R */, 1671, 0, DefaultVis, 1, 0, 32, 0, llvm::opt::Option::JoinedOrSeparateClass, 0},
189 {1698 /* --strip-all-gnu */, 1714, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
190 {1800 /* --strip-all */, 1812, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
191 {2099 /* --strip-debug */, 2113, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
192 {2139 /* --strip-sections */, 2156, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
193 {2224 /* --strip-symbol= */, 2240, 0, DefaultVis, 3, 0, 39, 3, llvm::opt::Option::JoinedClass, 0},
194 {2255 /* --strip-symbol */, 0, 0, DefaultVis, 3, 0, 0, 3, llvm::opt::Option::SeparateClass, 0},
195 {2270 /* --strip-unneeded */, 2287, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
196 {2332 /* -S */, 662, 0, DefaultVis, 1, 0, 36, 0, llvm::opt::Option::FlagClass, 0},
197 {2335 /* -s */, 2338, 0, DefaultVis, 1, 0, 35, 0, llvm::opt::Option::FlagClass, 0},
198 {2360 /* -T */, 2363, 0, DefaultVis, 1, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
199 {2384 /* -U */, 2387, 0, DefaultVis, 1, 0, 6, 0, llvm::opt::Option::FlagClass, 0},
200 {2430 /* --verbose */, 2440, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
201 {2481 /* --version */, 2491, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
202 {2519 /* -V */, 2522, 0, DefaultVis, 1, 0, 46, 0, llvm::opt::Option::FlagClass, 0},
203 {2542 /* -v */, 2545, 0, DefaultVis, 1, 0, 45, 0, llvm::opt::Option::FlagClass, 0},
204 {2565 /* --wildcard */, 2576, 0, DefaultVis, 3, 0, 0, 0, llvm::opt::Option::FlagClass, 0},
205 {2928 /* -w */, 2931, 0, DefaultVis, 1, 0, 49, 0, llvm::opt::Option::FlagClass, 0},
206 {2952 /* -X */, 2955, 0, DefaultVis, 1, 0, 8, 0, llvm::opt::Option::FlagClass, 0},
207 {2982 /* -x */, 2985, 0, DefaultVis, 1, 0, 7, 0, llvm::opt::Option::FlagClass, 0},
208 };
209
210 return {OptionStrTableStorage, OptionPrefixesTable,
211 OptionInfoTable, OptionInfoExtrasTable, OptionHelpTextVariantsTable, {}, OptionSubCommandIDsTable};
212}
213#undef OPTTABLE_CODE
214#endif // OPTTABLE_CODE
215
216/////////
217// ValuesCode
218
219#ifdef OPTTABLE_VALUES_CODE
220static llvm::StringRef getOptionValuesCode(unsigned ID) {
221 switch (ID) {
222 }
223 return {};
224}
225#undef OPTTABLE_VALUES_CODE
226#endif // OPTTABLE_VALUES_CODE
227/////////
228// Groups
229
230#ifdef OPTION
231OPTION(0 /* no prefixes */, 6 /* kind */, grp_coff, Group, INVALID, INVALID, 0, 0, 0, 0, 11, 0, 0, 0, 0)
232OPTION(0 /* no prefixes */, 6 /* kind */, grp_macho, Group, INVALID, INVALID, 0, 0, 0, 0, 35, 0, 0, 0, 0)
233
234//////////
235// Options
236
237OPTION(0, 61 /* <input> */, INPUT, Input, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 0, 0, 0)
238OPTION(0, 69 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 0, 0, 0)
239OPTION(3, 79 /* --allow-broken-links */, allow_broken_links, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 100, 0, 0, 0, 0)
240OPTION(3, 237 /* --disable-deterministic-archives */, disable_deterministic_archives, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 270, 0, 0, 0, 0)
241OPTION(3, 374 /* --discard-all */, discard_all, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 388, 0, 0, 0, 0)
242OPTION(3, 559 /* --discard-locals */, discard_locals, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 576, 0, 0, 0, 0)
243OPTION(1, 614 /* -D */, D, Flag, INVALID, enable_deterministic_archives, 0, 0, DefaultVis, 0, 617, 0, 0, 0, 0)
244OPTION(1, 659 /* -d */, d, Flag, INVALID, strip_debug, 0, 0, DefaultVis, 0, 662, 0, 0, 0, 0)
245OPTION(3, 686 /* --enable-deterministic-archives */, enable_deterministic_archives, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 718, 0, 0, 0, 0)
246OPTION(3, 814 /* --extract-section= */, extract_section_eq, Joined, INVALID, extract_section, 0, 0, DefaultVis, 0, 833, 0, 903, 0, 0)
247OPTION(3, 916 /* --extract-section */, extract_section, Separate, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 903, 0, 0)
248OPTION(1, 934 /* -g */, g, Flag, INVALID, strip_debug, 0, 0, DefaultVis, 0, 662, 0, 0, 0, 0)
249OPTION(3, 937 /* --help */, help, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 0, 0, 0)
250OPTION(1, 944 /* -h */, h, Flag, INVALID, help, 0, 0, DefaultVis, 0, 0, 0, 0, 0, 0)
251OPTION(3, 947 /* --keep-file-symbols */, keep_file_symbols, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 967, 0, 0, 0, 0)
252OPTION(3, 1039 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, 0, 0, DefaultVis, 0, 1055, 0, 1070, 0, 0)
253OPTION(3, 1078 /* --keep-section */, keep_section, Separate, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 1070, 0, 0)
254OPTION(3, 1093 /* --keep-symbol= */, keep_symbol_eq, Joined, INVALID, keep_symbol, 0, 0, DefaultVis, 0, 1108, 0, 1154, 0, 0)
255OPTION(3, 1161 /* --keep-symbol */, keep_symbol, Separate, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 1154, 0, 0)
256OPTION(3, 1175 /* --keep-undefined */, keep_undefined, Flag, grp_macho, INVALID, 0, 0, DefaultVis, 0, 1192, 0, 0, 0, 0)
257OPTION(1, 1224 /* -K */, K, JoinedOrSeparate, INVALID, keep_symbol, 0, 0, DefaultVis, 0, 1227, 0, 0, 0, 0)
258OPTION(3, 1251 /* --no-strip-all */, no_strip_all, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1266, 0, 0, 0, 0)
259OPTION(1, 1286 /* -N */, N, JoinedOrSeparate, INVALID, strip_symbol, 0, 0, DefaultVis, 0, 1289, 0, 0, 0, 0)
260OPTION(3, 1314 /* --only-keep-debug */, only_keep_debug, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1332, 0, 0, 0, 0)
261OPTION(1, 1438 /* -o */, output, JoinedOrSeparate, INVALID, INVALID, 0, 0, DefaultVis, 0, 1441, 0, 1464, 0, 0)
262OPTION(3, 1471 /* --preserve-dates */, preserve_dates, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1488, 0, 0, 0, 0)
263OPTION(1, 1532 /* -p */, p, Flag, INVALID, preserve_dates, 0, 0, DefaultVis, 0, 1535, 0, 0, 0, 0)
264OPTION(3, 1562 /* --regex */, regex, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1570, 0, 0, 0, 0)
265OPTION(3, 1616 /* --remove-section= */, remove_section_eq, Joined, INVALID, remove_section, 0, 0, DefaultVis, 0, 1634, 0, 1070, 0, 0)
266OPTION(3, 1651 /* --remove-section */, remove_section, Separate, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 1070, 0, 0)
267OPTION(1, 1668 /* -R */, R, JoinedOrSeparate, INVALID, remove_section, 0, 0, DefaultVis, 0, 1671, 0, 0, 0, 0)
268OPTION(3, 1698 /* --strip-all-gnu */, strip_all_gnu, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1714, 0, 0, 0, 0)
269OPTION(3, 1800 /* --strip-all */, strip_all, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 1812, 0, 0, 0, 0)
270OPTION(3, 2099 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2113, 0, 0, 0, 0)
271OPTION(3, 2139 /* --strip-sections */, strip_sections, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2156, 0, 0, 0, 0)
272OPTION(3, 2224 /* --strip-symbol= */, strip_symbol_eq, Joined, INVALID, strip_symbol, 0, 0, DefaultVis, 0, 2240, 0, 1154, 0, 0)
273OPTION(3, 2255 /* --strip-symbol */, strip_symbol, Separate, INVALID, INVALID, 0, 0, DefaultVis, 0, 0, 0, 1154, 0, 0)
274OPTION(3, 2270 /* --strip-unneeded */, strip_unneeded, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2287, 0, 0, 0, 0)
275OPTION(1, 2332 /* -S */, S, Flag, INVALID, strip_debug, 0, 0, DefaultVis, 0, 662, 0, 0, 0, 0)
276OPTION(1, 2335 /* -s */, s, Flag, INVALID, strip_all, 0, 0, DefaultVis, 0, 2338, 0, 0, 0, 0)
277OPTION(1, 2360 /* -T */, strip_swift_symbols, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2363, 0, 0, 0, 0)
278OPTION(1, 2384 /* -U */, U, Flag, INVALID, disable_deterministic_archives, 0, 0, DefaultVis, 0, 2387, 0, 0, 0, 0)
279OPTION(3, 2430 /* --verbose */, verbose, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2440, 0, 0, 0, 0)
280OPTION(3, 2481 /* --version */, version, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2491, 0, 0, 0, 0)
281OPTION(1, 2519 /* -V */, V, Flag, INVALID, version, 0, 0, DefaultVis, 0, 2522, 0, 0, 0, 0)
282OPTION(1, 2542 /* -v */, v, Flag, INVALID, verbose, 0, 0, DefaultVis, 0, 2545, 0, 0, 0, 0)
283OPTION(3, 2565 /* --wildcard */, wildcard, Flag, INVALID, INVALID, 0, 0, DefaultVis, 0, 2576, 0, 0, 0, 0)
284OPTION(1, 2928 /* -w */, w, Flag, INVALID, wildcard, 0, 0, DefaultVis, 0, 2931, 0, 0, 0, 0)
285OPTION(1, 2952 /* -X */, X, Flag, INVALID, discard_locals, 0, 0, DefaultVis, 0, 2955, 0, 0, 0, 0)
286OPTION(1, 2982 /* -x */, x, Flag, INVALID, discard_all, 0, 0, DefaultVis, 0, 2985, 0, 0, 0, 0)
287#endif // OPTION
288
289#ifdef SIMPLE_ENUM_VALUE_TABLE
290
291struct SimpleEnumValue {
292 const char *Name;
293 unsigned Value;
294};
295
296struct SimpleEnumValueTable {
297 const SimpleEnumValue *Table;
298 unsigned Size;
299};
300static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
301static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
302#endif // SIMPLE_ENUM_VALUE_TABLE
303