1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
3 | |* Option Parsing Definitions *| |
4 | |* *| |
5 | |* Automatically generated file, do not edit! *| |
6 | |* *| |
7 | \*===----------------------------------------------------------------------===*/ |
8 | |
9 | ///////// |
10 | // Prefixes |
11 | |
12 | #ifdef PREFIX |
13 | #define COMMA , |
14 | PREFIX(prefix_0, {llvm::StringLiteral("" )}) |
15 | PREFIX(prefix_2, {llvm::StringLiteral("-" ) COMMA llvm::StringLiteral("" )}) |
16 | PREFIX(prefix_1, {llvm::StringLiteral("--" ) COMMA llvm::StringLiteral("" )}) |
17 | #undef COMMA |
18 | #endif // PREFIX |
19 | |
20 | ///////// |
21 | // Prefix Union |
22 | |
23 | #ifdef PREFIX_UNION |
24 | #define COMMA , |
25 | PREFIX_UNION({ |
26 | llvm::StringLiteral("-" ) COMMA llvm::StringLiteral("--" ) COMMA llvm::StringLiteral("" )}) |
27 | #undef COMMA |
28 | #endif // PREFIX_UNION |
29 | |
30 | ///////// |
31 | // ValuesCode |
32 | |
33 | #ifdef OPTTABLE_VALUES_CODE |
34 | #endif |
35 | ///////// |
36 | // Groups |
37 | |
38 | #ifdef OPTION |
39 | OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "kind" , grp_coff, Group, INVALID, INVALID, nullptr, 0, 0, 0, |
40 | "OPTIONS (COFF specific)" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
41 | OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "kind" , grp_macho, Group, INVALID, INVALID, nullptr, 0, 0, 0, |
42 | "OPTIONS (Mach-O specific)" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
43 | |
44 | ////////// |
45 | // Options |
46 | |
47 | OPTION(prefix_0, "<input>" , INPUT, Input, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
48 | OPTION(prefix_0, "<unknown>" , UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
49 | OPTION(prefix_1, "--allow-broken-links" , allow_broken_links, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
50 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
51 | OPTION(prefix_1, "--disable-deterministic-archives" , disable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
52 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
53 | OPTION(prefix_1, "--discard-all" , discard_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
54 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
55 | OPTION(prefix_1, "--discard-locals" , discard_locals, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
56 | "Remove local symbols starting with .L" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
57 | OPTION(prefix_2, "-D" , D, Flag, INVALID, enable_deterministic_archives, nullptr, 0, DefaultVis, 0, |
58 | "Alias for --enable-deterministic-archives" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
59 | OPTION(prefix_2, "-d" , d, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0, |
60 | "Alias for --strip-debug" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
61 | OPTION(prefix_1, "--enable-deterministic-archives" , enable_deterministic_archives, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
62 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
63 | OPTION(prefix_2, "-g" , g, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0, |
64 | "Alias for --strip-debug" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
65 | OPTION(prefix_1, "--help" , help, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
66 | OPTION(prefix_2, "-h" , h, Flag, INVALID, help, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
67 | OPTION(prefix_1, "--keep-file-symbols" , keep_file_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
68 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
69 | OPTION(prefix_1, "--keep-section=" , keep_section_eq, Joined, INVALID, keep_section, nullptr, 0, DefaultVis, 0, |
70 | "Keep <section>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
71 | OPTION(prefix_1, "--keep-section" , keep_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
72 | OPTION(prefix_1, "--keep-symbol=" , keep_symbol_eq, Joined, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0, |
73 | "When removing symbols, do not remove <symbol>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
74 | OPTION(prefix_1, "--keep-symbol" , keep_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
75 | OPTION(prefix_1, "--keep-undefined" , keep_undefined, Flag, grp_macho, INVALID, nullptr, 0, DefaultVis, 0, |
76 | "Do not remove undefined symbols" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
77 | OPTION(prefix_2, "-K" , K, JoinedOrSeparate, INVALID, keep_symbol, nullptr, 0, DefaultVis, 0, |
78 | "Alias for --keep-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
79 | OPTION(prefix_1, "--no-strip-all" , no_strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
80 | "Disable --strip-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
81 | OPTION(prefix_2, "-N" , N, JoinedOrSeparate, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0, |
82 | "Alias for --strip-symbol" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
83 | OPTION(prefix_1, "--only-keep-debug" , only_keep_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
84 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
85 | OPTION(prefix_2, "-o" , output, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
86 | "Write output to <file>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "<file>" , nullptr) |
87 | OPTION(prefix_1, "--preserve-dates" , preserve_dates, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
88 | "Preserve access and modification timestamps" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
89 | OPTION(prefix_2, "-p" , p, Flag, INVALID, preserve_dates, nullptr, 0, DefaultVis, 0, |
90 | "Alias for --preserve-dates" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
91 | OPTION(prefix_1, "--regex" , regex, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
92 | "Permit regular expressions in name comparison" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
93 | OPTION(prefix_1, "--remove-section=" , remove_section_eq, Joined, INVALID, remove_section, nullptr, 0, DefaultVis, 0, |
94 | "Remove <section>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
95 | OPTION(prefix_1, "--remove-section" , remove_section, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "section" , nullptr) |
96 | OPTION(prefix_2, "-R" , R, JoinedOrSeparate, INVALID, remove_section, nullptr, 0, DefaultVis, 0, |
97 | "Alias for --remove-section" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
98 | OPTION(prefix_1, "--strip-all-gnu" , strip_all_gnu, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
99 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
100 | OPTION(prefix_1, "--strip-all" , strip_all, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
101 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
102 | OPTION(prefix_1, "--strip-debug" , strip_debug, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
103 | "Remove all debug sections" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
104 | OPTION(prefix_1, "--strip-sections" , strip_sections, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
105 | "Remove all section headers and all section data not within segments" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
106 | OPTION(prefix_1, "--strip-symbol=" , strip_symbol_eq, Joined, INVALID, strip_symbol, nullptr, 0, DefaultVis, 0, |
107 | "Strip <symbol>" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
108 | OPTION(prefix_1, "--strip-symbol" , strip_symbol, Separate, INVALID, INVALID, nullptr, 0, DefaultVis, 0, nullptr, (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), "symbol" , nullptr) |
109 | OPTION(prefix_1, "--strip-unneeded" , strip_unneeded, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
110 | "Remove all symbols not needed by relocations" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
111 | OPTION(prefix_2, "-S" , S, Flag, INVALID, strip_debug, nullptr, 0, DefaultVis, 0, |
112 | "Alias for --strip-debug" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
113 | OPTION(prefix_2, "-s" , s, Flag, INVALID, strip_all, nullptr, 0, DefaultVis, 0, |
114 | "Alias for --strip-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
115 | OPTION(prefix_2, "-T" , strip_swift_symbols, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
116 | "Remove Swift symbols" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
117 | OPTION(prefix_2, "-U" , U, Flag, INVALID, disable_deterministic_archives, nullptr, 0, DefaultVis, 0, |
118 | "Alias for --disable-deterministic-archives" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
119 | OPTION(prefix_1, "--version" , version, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
120 | "Print the version and exit." , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
121 | OPTION(prefix_2, "-V" , V, Flag, INVALID, version, nullptr, 0, DefaultVis, 0, |
122 | "Alias for --version" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
123 | OPTION(prefix_1, "--wildcard" , wildcard, Flag, INVALID, INVALID, nullptr, 0, DefaultVis, 0, |
124 | "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::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
125 | OPTION(prefix_2, "-w" , w, Flag, INVALID, wildcard, nullptr, 0, DefaultVis, 0, |
126 | "Alias for --wildcard" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
127 | OPTION(prefix_2, "-X" , X, Flag, INVALID, discard_locals, nullptr, 0, DefaultVis, 0, |
128 | "Alias for --discard-locals" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
129 | OPTION(prefix_2, "-x" , x, Flag, INVALID, discard_all, nullptr, 0, DefaultVis, 0, |
130 | "Alias for --discard-all" , (std::array<std::pair<std::array<unsigned, 2>, const char*>, 1>{{ std::make_pair(std::array<unsigned, 2>{{0, 0}}, nullptr) }}), nullptr, nullptr) |
131 | #endif // OPTION |
132 | |
133 | #ifdef SIMPLE_ENUM_VALUE_TABLE |
134 | |
135 | struct SimpleEnumValue { |
136 | const char *Name; |
137 | unsigned Value; |
138 | }; |
139 | |
140 | struct SimpleEnumValueTable { |
141 | const SimpleEnumValue *Table; |
142 | unsigned Size; |
143 | }; |
144 | static const SimpleEnumValueTable SimpleEnumValueTables[] = {}; |
145 | static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables); |
146 | #endif // SIMPLE_ENUM_VALUE_TABLE |
147 | |
148 | |
149 | |