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 "-g\0"
33 "--help\0"
34 "-h\0"
35 "--keep-file-symbols\0"
36 "--keep-section=\0"
37 "--keep-section\0"
38 "--keep-symbol=\0"
39 "--keep-symbol\0"
40 "--keep-undefined\0"
41 "-K\0"
42 "--no-strip-all\0"
43 "-N\0"
44 "--only-keep-debug\0"
45 "-o\0"
46 "--preserve-dates\0"
47 "-p\0"
48 "--regex\0"
49 "--remove-section=\0"
50 "--remove-section\0"
51 "-R\0"
52 "--strip-all-gnu\0"
53 "--strip-all\0"
54 "--strip-debug\0"
55 "--strip-sections\0"
56 "--strip-symbol=\0"
57 "--strip-symbol\0"
58 "--strip-unneeded\0"
59 "-S\0"
60 "-s\0"
61 "-T\0"
62 "-U\0"
63 "--version\0"
64 "-V\0"
65 "--wildcard\0"
66 "-w\0"
67 "-X\0"
68 "-x\0"
69 ;
70#ifdef __GNUC__
71#pragma GCC diagnostic pop
72#endif
73
74static constexpr llvm::StringTable OptionStrTable =
75 OptionStrTableStorage;
76#endif // OPTTABLE_STR_TABLE_CODE
77
78/////////
79// Prefixes
80
81#ifdef OPTTABLE_PREFIXES_TABLE_CODE
82static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
83 0 /* prefixes */,
84 1 /* prefixes */, 1 /* '-' */,
85 1 /* prefixes */, 3 /* '--' */
86};
87#endif // OPTTABLE_PREFIXES_TABLE_CODE
88
89/////////
90// Prefix Union
91
92#ifdef OPTTABLE_PREFIXES_UNION_CODE
93static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = {
94 1 /* '-' */, 3 /* '--' */
95};
96#endif // OPTTABLE_PREFIXES_UNION_CODE
97
98/////////
99// ValuesCode
100
101#ifdef OPTTABLE_VALUES_CODE
102#endif
103/////////
104// Groups
105
106#ifdef OPTION
107OPTION(0 /* no prefixes */, 6 /* kind */, grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0,
108 "OPTIONS (COFF specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
109OPTION(0 /* no prefixes */, 6 /* kind */, grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0,
110 "OPTIONS (Mach-O specific)", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
111
112//////////
113// Options
114
115OPTION(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)
116OPTION(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)
117OPTION(3, 29 /* --allow-broken-links */, allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
118 "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)
119OPTION(3, 50 /* --disable-deterministic-archives */, disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
120 "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)
121OPTION(3, 83 /* --discard-all */, discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
122 "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)
123OPTION(3, 97 /* --discard-locals */, discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
124 "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)
125OPTION(1, 114 /* -D */, D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0,
126 "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)
127OPTION(1, 117 /* -d */, d, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
128 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
129OPTION(3, 120 /* --enable-deterministic-archives */, enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
130 "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)
131OPTION(1, 152 /* -g */, g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
132 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
133OPTION(3, 155 /* --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)
134OPTION(1, 162 /* -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)
135OPTION(3, 165 /* --keep-file-symbols */, keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
136 "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)
137OPTION(3, 185 /* --keep-section= */, keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0,
138 "Keep <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr)
139OPTION(3, 201 /* --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)
140OPTION(3, 216 /* --keep-symbol= */, keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
141 "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)
142OPTION(3, 231 /* --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)
143OPTION(3, 245 /* --keep-undefined */, keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0,
144 "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)
145OPTION(1, 262 /* -K */, K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0,
146 "Alias for --keep-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
147OPTION(3, 265 /* --no-strip-all */, no_strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
148 "Disable --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
149OPTION(1, 280 /* -N */, N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
150 "Alias for --strip-symbol", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
151OPTION(3, 283 /* --only-keep-debug */, only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
152 "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)
153OPTION(1, 301 /* -o */, output, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
154 "Write output to <file>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "<file>", nullptr)
155OPTION(3, 304 /* --preserve-dates */, preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
156 "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)
157OPTION(1, 321 /* -p */, p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0,
158 "Alias for --preserve-dates", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
159OPTION(3, 324 /* --regex */, regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
160 "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)
161OPTION(3, 332 /* --remove-section= */, remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
162 "Remove <section>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "section", nullptr)
163OPTION(3, 350 /* --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)
164OPTION(1, 367 /* -R */, R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0,
165 "Alias for --remove-section", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
166OPTION(3, 370 /* --strip-all-gnu */, strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
167 "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)
168OPTION(3, 386 /* --strip-all */, strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
169 "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)
170OPTION(3, 398 /* --strip-debug */, strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
171 "Remove all debug sections", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
172OPTION(3, 412 /* --strip-sections */, strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
173 "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)
174OPTION(3, 429 /* --strip-symbol= */, strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0,
175 "Strip <symbol>", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), "symbol", nullptr)
176OPTION(3, 445 /* --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)
177OPTION(3, 460 /* --strip-unneeded */, strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
178 "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)
179OPTION(1, 477 /* -S */, S, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0,
180 "Alias for --strip-debug", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
181OPTION(1, 480 /* -s */, s, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0,
182 "Alias for --strip-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
183OPTION(1, 483 /* -T */, strip_swift_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
184 "Remove Swift symbols", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
185OPTION(1, 486 /* -U */, U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0,
186 "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)
187OPTION(3, 489 /* --version */, version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
188 "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)
189OPTION(1, 499 /* -V */, V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0,
190 "Alias for --version", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
191OPTION(3, 502 /* --wildcard */, wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0,
192 "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)
193OPTION(1, 513 /* -w */, w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0,
194 "Alias for --wildcard", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
195OPTION(1, 516 /* -X */, X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0,
196 "Alias for --discard-locals", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
197OPTION(1, 519 /* -x */, x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0,
198 "Alias for --discard-all", (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ {std::array<unsigned, 2>{{0, 0}}, nullptr} }}), nullptr, nullptr)
199#endif // OPTION
200
201#ifdef SIMPLE_ENUM_VALUE_TABLE
202
203struct SimpleEnumValue {
204 const char *Name;
205 unsigned Value;
206};
207
208struct SimpleEnumValueTable {
209 const SimpleEnumValue *Table;
210 unsigned Size;
211};
212static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
213static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
214#endif // SIMPLE_ENUM_VALUE_TABLE
215
216
217