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 "--version\0"
66 "-V\0"
67 "--wildcard\0"
68 "-w\0"
69 "-X\0"
70 "-x\0"
71 ;
72#ifdef __GNUC__
73#pragma GCC diagnostic pop
74#endif
75
76static constexpr llvm::StringTable
77OptionStrTable = OptionStrTableStorage;
78#endif // OPTTABLE_STR_TABLE_CODE
79
80/////////
81// Prefixes
82
83#ifdef OPTTABLE_PREFIXES_TABLE_CODE
84static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
85 0 /* prefixes */,
86 1 /* prefixes */, 1 /* '-' */,
87 1 /* prefixes */, 3 /* '--' */
88};
89#endif // OPTTABLE_PREFIXES_TABLE_CODE
90
91/////////// SubCommand IDs
92
93#ifdef OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
94static constexpr unsigned OptionSubCommandIDsTable[] = {
95 0 /* subcommands */
96};
97#endif // OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE
98
99/////////
100// Prefix Union
101
102#ifdef OPTTABLE_PREFIXES_UNION_CODE
103static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = {
104 1 /* '-' */, 3 /* '--' */
105};
106#endif // OPTTABLE_PREFIXES_UNION_CODE
107
108/////////
109// ValuesCode
110
111#ifdef OPTTABLE_VALUES_CODE
112#endif
113/////////
114// Groups
115
116#ifdef OPTION
117OPTION(0 /* no prefixes */, 6 /* kind */, grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0,
118 "OPTIONS (COFF specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
119OPTION(0 /* no prefixes */, 6 /* kind */, grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0,
120 "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)
121
122//////////
123// Options
124
125OPTION(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)
126OPTION(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)
127OPTION(3, 29 /* --allow-broken-links */, allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
128 "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)
129OPTION(3, 50 /* --disable-deterministic-archives */, disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
130 "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)
131OPTION(3, 83 /* --discard-all */, discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
132 "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)
133OPTION(3, 97 /* --discard-locals */, discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
134 "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)
135OPTION(1, 114 /* -D */, D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0,
136 "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)
137OPTION(1, 117 /* -d */, d, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
138 "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)
139OPTION(3, 120 /* --enable-deterministic-archives */, enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
140 "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)
141OPTION(3, 152 /* --extract-section= */, extract_section_eq, Joined, INVALID, extract_section, nullptr, 0, DefaultVis, 0,
142 "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)
143OPTION(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)
144OPTION(1, 189 /* -g */, g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
145 "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)
146OPTION(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)
147OPTION(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)
148OPTION(3, 202 /* --keep-file-symbols */, keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
149 "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)
150OPTION(3, 222 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0,
151 "Keep <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
152OPTION(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)
153OPTION(3, 253 /* --keep-symbol= */, keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
154 "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)
155OPTION(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)
156OPTION(3, 282 /* --keep-undefined */, keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0,
157 "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)
158OPTION(1, 299 /* -K */, K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
159 "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)
160OPTION(3, 302 /* --no-strip-all */, no_strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
161 "Disable --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
162OPTION(1, 317 /* -N */, N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
163 "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)
164OPTION(3, 320 /* --only-keep-debug */, only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
165 "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)
166OPTION(1, 338 /* -o */, output, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
167 "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)
168OPTION(3, 341 /* --preserve-dates */, preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
169 "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)
170OPTION(1, 358 /* -p */, p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0,
171 "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)
172OPTION(3, 361 /* --regex */, regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
173 "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)
174OPTION(3, 369 /* --remove-section= */, remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
175 "Remove <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr, 0)
176OPTION(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)
177OPTION(1, 404 /* -R */, R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
178 "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)
179OPTION(3, 407 /* --strip-all-gnu */, strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
180 "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)
181OPTION(3, 423 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
182 "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", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
183OPTION(3, 435 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
184 "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)
185OPTION(3, 449 /* --strip-sections */, strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
186 "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)
187OPTION(3, 466 /* --strip-symbol= */, strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
188 "Strip <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr, 0)
189OPTION(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)
190OPTION(3, 497 /* --strip-unneeded */, strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
191 "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)
192OPTION(1, 514 /* -S */, S, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
193 "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)
194OPTION(1, 517 /* -s */, s, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0,
195 "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)
196OPTION(1, 520 /* -T */, strip_swift_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
197 "Remove Swift symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
198OPTION(1, 523 /* -U */, U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0,
199 "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)
200OPTION(3, 526 /* --version */, version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
201 "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)
202OPTION(1, 536 /* -V */, V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0,
203 "Alias for --version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
204OPTION(3, 539 /* --wildcard */, wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
205 "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)
206OPTION(1, 550 /* -w */, w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0,
207 "Alias for --wildcard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr, 0)
208OPTION(1, 553 /* -X */, X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0,
209 "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)
210OPTION(1, 556 /* -x */, x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0,
211 "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)
212#endif // OPTION
213
214#ifdef SIMPLE_ENUM_VALUE_TABLE
215
216struct SimpleEnumValue {
217 const char *Name;
218 unsigned Value;
219};
220
221struct SimpleEnumValueTable {
222 const SimpleEnumValue *Table;
223 unsigned Size;
224};
225static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
226static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
227#endif // SIMPLE_ENUM_VALUE_TABLE
228
229/////////
230
231// SubCommands
232
233#ifdef OPTTABLE_SUBCOMMANDS_CODE
234static constexpr llvm::opt::OptTable::SubCommand OptionSubCommands[] = {
235};
236#endif // OPTTABLE_SUBCOMMANDS_CODE
237
238
239