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#ifdef OPTTABLE_STR_TABLE_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 "<input>\0"
24 "<unknown>\0"
25 "--allow-broken-links\0"
26 "--disable-deterministic-archives\0"
27 "--discard-all\0"
28 "--discard-locals\0"
29 "-D\0"
30 "-d\0"
31 "--enable-deterministic-archives\0"
32 "--extract-section=\0"
33 "--extract-section\0"
34 "-g\0"
35 "--help\0"
36 "-h\0"
37 "--keep-file-symbols\0"
38 "--keep-section=\0"
39 "--keep-section\0"
40 "--keep-symbol=\0"
41 "--keep-symbol\0"
42 "--keep-undefined\0"
43 "-K\0"
44 "--no-strip-all\0"
45 "-N\0"
46 "--only-keep-debug\0"
47 "-o\0"
48 "--preserve-dates\0"
49 "-p\0"
50 "--regex\0"
51 "--remove-section=\0"
52 "--remove-section\0"
53 "-R\0"
54 "--strip-all-gnu\0"
55 "--strip-all\0"
56 "--strip-debug\0"
57 "--strip-sections\0"
58 "--strip-symbol=\0"
59 "--strip-symbol\0"
60 "--strip-unneeded\0"
61 "-S\0"
62 "-s\0"
63 "-T\0"
64 "-U\0"
65 "--verbose\0"
66 "--version\0"
67 "-V\0"
68 "-v\0"
69 "--wildcard\0"
70 "-w\0"
71 "-X\0"
72 "-x\0"
73 ;
74#ifdef __GNUC__
75#pragma GCC diagnostic pop
76#endif
77
78static constexpr llvm::StringTable
79OptionStrTable = OptionStrTableStorage;
80#endif // OPTTABLE_STR_TABLE_CODE
81
82/////////
83// Prefixes
84
85#ifdef OPTTABLE_PREFIXES_TABLE_CODE
86static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
87 0 /* prefixes */,
88 1 /* prefixes */, 1 /* '-' */,
89 1 /* prefixes */, 3 /* '--' */
90};
91#endif // OPTTABLE_PREFIXES_TABLE_CODE
92
93/////////// SubCommand IDs
94
95#ifdef OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
96static constexpr unsigned OptionSubCommandIDsTable[] = {
97 0 /* subcommands */
98};
99#endif // OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
100
101/////////
102// Prefix Union
103
104#ifdef OPTTABLE_PREFIXES_UNION_CODE
105static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = {
106 1 /* '-' */, 3 /* '--' */
107};
108#endif // OPTTABLE_PREFIXES_UNION_CODE
109
110/////////
111// ValuesCode
112
113#ifdef OPTTABLE_VALUES_CODE
114#endif
115/////////
116// Groups
117
118#ifdef OPTION
119OPTION(0 /* no prefixes */, 6 /* kind */, grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0,
120 "OPTIONS (COFF specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
121OPTION(0 /* no prefixes */, 6 /* kind */, grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0,
122 "OPTIONS (Mach-O specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
123
124//////////
125// Options
126
127OPTION(0, 11 /* <input> */, INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
128OPTION(0, 19 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
129OPTION(3, 29 /* --allow-broken-links */, allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
130 "Allow the tool to remove sections even if it would leave invalid section references. The appropriate sh_link fields will be set to zero.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
131OPTION(3, 50 /* --disable-deterministic-archives */, disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
132 "Disable deterministic mode when operating on archives (use real values for UIDs, GIDs, and timestamps).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
133OPTION(3, 83 /* --discard-all */, discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
134 "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", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
135OPTION(3, 97 /* --discard-locals */, discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
136 "Remove local symbols starting with .L", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
137OPTION(1, 114 /* -D */, D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0,
138 "Alias for --enable-deterministic-archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
139OPTION(1, 117 /* -d */, d, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
140 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
141OPTION(3, 120 /* --enable-deterministic-archives */, enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
142 "Enable deterministic mode when operating on archives (use zero for UIDs, GIDs, and timestamps).", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
143OPTION(3, 152 /* --extract-section= */, extract_section_eq, Joined, INVALID, extract_section, nullptr, 0, DefaultVis, 0,
144 "Extract section named <section> into standalone object in file <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
145OPTION(3, 171 /* --extract-section */, extract_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section=file", nullptr, 0)
146OPTION(1, 189 /* -g */, g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
147 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
148OPTION(3, 192 /* --help */, help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
149OPTION(1, 199 /* -h */, h, Flag, INVALID, help, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
150OPTION(3, 202 /* --keep-file-symbols */, keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
151 "Keep symbols of type STT_FILE, even if they would otherwise be stripped", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
152OPTION(3, 222 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0,
153 "Keep <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
154OPTION(3, 238 /* --keep-section */, keep_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
155OPTION(3, 253 /* --keep-symbol= */, keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
156 "When removing symbols, do not remove <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
157OPTION(3, 268 /* --keep-symbol */, keep_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
158OPTION(3, 282 /* --keep-undefined */, keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0,
159 "Do not remove undefined symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
160OPTION(1, 299 /* -K */, K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
161 "Alias for --keep-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
162OPTION(3, 302 /* --no-strip-all */, no_strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
163 "Disable --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
164OPTION(1, 317 /* -N */, N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
165 "Alias for --strip-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
166OPTION(3, 320 /* --only-keep-debug */, only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
167 "Produce a debug file as the output that only preserves contents of sections useful for debugging purposes", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
168OPTION(1, 338 /* -o */, output, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
169 "Write output to <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<file>", nullptr, 0)
170OPTION(3, 341 /* --preserve-dates */, preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
171 "Preserve access and modification timestamps", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
172OPTION(1, 358 /* -p */, p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0,
173 "Alias for --preserve-dates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
174OPTION(3, 361 /* --regex */, regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
175 "Permit regular expressions in name comparison", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
176OPTION(3, 369 /* --remove-section= */, remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
177 "Remove <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
178OPTION(3, 387 /* --remove-section */, remove_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
179OPTION(1, 404 /* -R */, R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
180 "Alias for --remove-section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
181OPTION(3, 407 /* --strip-all-gnu */, strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
182 "Remove all symbols, debug sections and relocations. Compatible with GNU's --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
183OPTION(3, 423 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
184 "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.*", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
185OPTION(3, 435 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
186 "Remove all debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
187OPTION(3, 449 /* --strip-sections */, strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
188 "Remove all section headers and all section data not within segments", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
189OPTION(3, 466 /* --strip-symbol= */, strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
190 "Strip <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
191OPTION(3, 482 /* --strip-symbol */, strip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
192OPTION(3, 497 /* --strip-unneeded */, strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
193 "Remove all symbols not needed by relocations", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
194OPTION(1, 514 /* -S */, S, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
195 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
196OPTION(1, 517 /* -s */, s, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0,
197 "Alias for --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
198OPTION(1, 520 /* -T */, strip_swift_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
199 "Remove Swift symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
200OPTION(1, 523 /* -U */, U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0,
201 "Alias for --disable-deterministic-archives", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
202OPTION(3, 526 /* --verbose */, verbose, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
203 "Print the paths of files that are copied", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
204OPTION(3, 536 /* --version */, version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
205 "Print the version and exit.", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
206OPTION(1, 546 /* -V */, V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0,
207 "Alias for --version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
208OPTION(1, 549 /* -v */, v, Flag, INVALID, verbose, nullptr, 0, DefaultVis, 0,
209 "Alias for --verbose", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
210OPTION(3, 552 /* --wildcard */, wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
211 "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\".", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
212OPTION(1, 563 /* -w */, w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0,
213 "Alias for --wildcard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
214OPTION(1, 566 /* -X */, X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0,
215 "Alias for --discard-locals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
216OPTION(1, 569 /* -x */, x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0,
217 "Alias for --discard-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
218#endif // OPTION
219
220#ifdef SIMPLE_ENUM_VALUE_TABLE
221
222struct SimpleEnumValue {
223 const char *Name;
224 unsigned Value;
225};
226
227struct SimpleEnumValueTable {
228 const SimpleEnumValue *Table;
229 unsigned Size;
230};
231static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
232static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
233#endif // SIMPLE_ENUM_VALUE_TABLE
234
235/////////
236
237// SubCommands
238
239#ifdef OPTTABLE_SUBCOMMANDS_CODE
240static constexpr llvm::opt::OptTable::SubCommand OptionSubCommands[] = {
241};
242#endif // OPTTABLE_SUBCOMMANDS_CODE
243
244
245