Skip to content

Commit d394ab6

Browse files
committed
[llvm] Extract common OptTable bits into macros
All command-line tools using `llvm::opt` create an enum of option IDs and a table of `OptTable::Info` object. Most of the tools use the same ID (`OPT_##ID`), kind (`Option::KIND##Class`), group ID (`OPT_##GROUP`) and alias ID (`OPT_##ALIAS`). This patch extracts that common code into canonical macros. This results in fewer changes when tweaking the `OPTION` macros emitted by the TableGen backend. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D157028
1 parent a5724e5 commit d394ab6

File tree

37 files changed

+113
-326
lines changed

37 files changed

+113
-326
lines changed

clang/include/clang/Driver/Options.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@
99
#ifndef LLVM_CLANG_DRIVER_OPTIONS_H
1010
#define LLVM_CLANG_DRIVER_OPTIONS_H
1111

12-
namespace llvm {
13-
namespace opt {
14-
class OptTable;
15-
}
16-
}
12+
#include "llvm/Option/OptTable.h"
1713

1814
namespace clang {
1915
namespace driver {
@@ -42,9 +38,7 @@ enum ClangFlags {
4238

4339
enum ID {
4440
OPT_INVALID = 0, // This is not an option ID.
45-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
46-
HELPTEXT, METAVAR, VALUES) \
47-
OPT_##ID,
41+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
4842
#include "clang/Driver/Options.inc"
4943
LastOption
5044
#undef OPTION

clang/lib/Driver/DriverOptions.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ using namespace llvm::opt;
2121
#undef PREFIX
2222

2323
static const OptTable::Info InfoTable[] = {
24-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
25-
HELPTEXT, METAVAR, VALUES) \
26-
{PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, \
27-
PARAM, FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS, VALUES},
24+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
2825
#include "clang/Driver/Options.inc"
2926
#undef OPTION
3027
};

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,7 @@ enum WrapperFlags {
112112

113113
enum ID {
114114
OPT_INVALID = 0, // This is not an option ID.
115-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
116-
HELPTEXT, METAVAR, VALUES) \
117-
OPT_##ID,
115+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
118116
#include "LinkerWrapperOpts.inc"
119117
LastOption
120118
#undef OPTION
@@ -125,10 +123,7 @@ enum ID {
125123
#undef PREFIX
126124

127125
static const OptTable::Info InfoTable[] = {
128-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
129-
HELPTEXT, METAVAR, VALUES) \
130-
{PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, \
131-
PARAM, FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS, VALUES},
126+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
132127
#include "LinkerWrapperOpts.inc"
133128
#undef OPTION
134129
};

lld/COFF/Driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ MemoryBufferRef convertResToCOFF(ArrayRef<MemoryBufferRef> mbs,
230230
// Create enum with OPT_xxx values for each option in Options.td
231231
enum {
232232
OPT_INVALID = 0,
233-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
233+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
234234
#include "Options.inc"
235235
#undef OPTION
236236
};

lld/COFF/DriverUtils.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -778,9 +778,7 @@ MemoryBufferRef convertResToCOFF(ArrayRef<MemoryBufferRef> mbs,
778778

779779
// Create table mapping all options defined in Options.td
780780
static const llvm::opt::OptTable::Info infoTable[] = {
781-
#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) \
782-
{X1, X2, X10, X11, OPT_##ID, llvm::opt::Option::KIND##Class, \
783-
X9, X8, OPT_##GROUP, OPT_##ALIAS, X7, X12},
781+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
784782
#include "Options.inc"
785783
#undef OPTION
786784
};

lld/ELF/Driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class ELFOptTable : public llvm::opt::OptTable {
2525
// Create enum with OPT_xxx values for each option in Options.td
2626
enum {
2727
OPT_INVALID = 0,
28-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
28+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
2929
#include "Options.inc"
3030
#undef OPTION
3131
};

lld/ELF/DriverUtils.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ using namespace lld::elf;
4040

4141
// Create table mapping all options defined in Options.td
4242
static const opt::OptTable::Info optInfo[] = {
43-
#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) \
44-
{X1, X2, X10, X11, OPT_##ID, opt::Option::KIND##Class, \
45-
X9, X8, OPT_##GROUP, OPT_##ALIAS, X7, X12},
43+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
4644
#include "Options.inc"
4745
#undef OPTION
4846
};

lld/MachO/Driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class MachOOptTable : public llvm::opt::OptTable {
3535
// Create enum with OPT_xxx values for each option in Options.td
3636
enum {
3737
OPT_INVALID = 0,
38-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
38+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
3939
#include "Options.inc"
4040
#undef OPTION
4141
};

lld/MinGW/Driver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ using namespace llvm;
5555
// Create OptTable
5656
enum {
5757
OPT_INVALID = 0,
58-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
58+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
5959
#include "Options.inc"
6060
#undef OPTION
6161
};

lld/wasm/Driver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace {
4949
// Create enum with OPT_xxx values for each option in Options.td
5050
enum {
5151
OPT_INVALID = 0,
52-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
52+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
5353
#include "Options.inc"
5454
#undef OPTION
5555
};

lldb/tools/driver/Driver.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ using namespace llvm;
5252
namespace {
5353
enum ID {
5454
OPT_INVALID = 0, // This is not an option ID.
55-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
56-
HELPTEXT, METAVAR, VALUES) \
57-
OPT_##ID,
55+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
5856
#include "Options.inc"
5957
#undef OPTION
6058
};
@@ -64,13 +62,7 @@ enum ID {
6462
#undef PREFIX
6563

6664
const opt::OptTable::Info InfoTable[] = {
67-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
68-
HELPTEXT, METAVAR, VALUES) \
69-
{ \
70-
PREFIX, NAME, HELPTEXT, \
71-
METAVAR, OPT_##ID, opt::Option::KIND##Class, \
72-
PARAM, FLAGS, OPT_##GROUP, \
73-
OPT_##ALIAS, ALIASARGS, VALUES},
65+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
7466
#include "Options.inc"
7567
#undef OPTION
7668
};

lldb/tools/lldb-server/lldb-gdbserver.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,7 @@ void ConnectToRemote(MainLoop &mainloop,
271271
namespace {
272272
enum ID {
273273
OPT_INVALID = 0, // This is not an option ID.
274-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
275-
HELPTEXT, METAVAR, VALUES) \
276-
OPT_##ID,
274+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
277275
#include "LLGSOptions.inc"
278276
#undef OPTION
279277
};
@@ -283,13 +281,7 @@ enum ID {
283281
#undef PREFIX
284282

285283
const opt::OptTable::Info InfoTable[] = {
286-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
287-
HELPTEXT, METAVAR, VALUES) \
288-
{ \
289-
PREFIX, NAME, HELPTEXT, \
290-
METAVAR, OPT_##ID, opt::Option::KIND##Class, \
291-
PARAM, FLAGS, OPT_##GROUP, \
292-
OPT_##ALIAS, ALIASARGS, VALUES},
284+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
293285
#include "LLGSOptions.inc"
294286
#undef OPTION
295287
};

lldb/tools/lldb-vscode/lldb-vscode.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
#include "llvm/ADT/ScopeExit.h"
4949
#include "llvm/Option/Arg.h"
5050
#include "llvm/Option/ArgList.h"
51+
#include "llvm/Option/OptTable.h"
5152
#include "llvm/Option/Option.h"
5253
#include "llvm/Support/Errno.h"
5354
#include "llvm/Support/FileSystem.h"
@@ -72,9 +73,7 @@ using namespace lldb_vscode;
7273
namespace {
7374
enum ID {
7475
OPT_INVALID = 0, // This is not an option ID.
75-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
76-
HELPTEXT, METAVAR, VALUES) \
77-
OPT_##ID,
76+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
7877
#include "Options.inc"
7978
#undef OPTION
8079
};
@@ -84,12 +83,7 @@ enum ID {
8483
#undef PREFIX
8584

8685
static const llvm::opt::OptTable::Info InfoTable[] = {
87-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
88-
HELPTEXT, METAVAR, VALUES) \
89-
{PREFIX, NAME, HELPTEXT, \
90-
METAVAR, OPT_##ID, llvm::opt::Option::KIND##Class, \
91-
PARAM, FLAGS, OPT_##GROUP, \
92-
OPT_##ALIAS, ALIASARGS, VALUES},
86+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
9387
#include "Options.inc"
9488
#undef OPTION
9589
};

llvm/include/llvm/Option/OptTable.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,4 +262,32 @@ class OptTable {
262262

263263
} // end namespace llvm
264264

265+
#define LLVM_MAKE_OPT_ID_WITH_ID_PREFIX(ID_PREFIX, PREFIX, NAME, ID, KIND, \
266+
GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
267+
HELPTEXT, METAVAR, VALUES) \
268+
ID_PREFIX##ID
269+
270+
#define LLVM_MAKE_OPT_ID(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, \
271+
FLAGS, PARAM, HELPTEXT, METAVAR, VALUES) \
272+
LLVM_MAKE_OPT_ID_WITH_ID_PREFIX(OPT_, PREFIX, NAME, ID, KIND, GROUP, ALIAS, \
273+
ALIASARGS, FLAGS, PARAM, HELPTEXT, METAVAR, \
274+
VALUE)
275+
276+
#define LLVM_CONSTRUCT_OPT_INFO_WITH_ID_PREFIX( \
277+
ID_PREFIX, PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
278+
HELPTEXT, METAVAR, VALUES) \
279+
llvm::opt::OptTable::Info { \
280+
ID_PREFIX##PREFIX, NAME, HELPTEXT, METAVAR, ID_PREFIX##ID, \
281+
llvm::opt::Option::KIND##Class, PARAM, FLAGS, ID_PREFIX##GROUP, \
282+
ID_PREFIX##ALIAS, ALIASARGS, VALUES \
283+
}
284+
285+
#define LLVM_CONSTRUCT_OPT_INFO(PREFIX, NAME, ID, KIND, GROUP, ALIAS, \
286+
ALIASARGS, FLAGS, PARAM, HELPTEXT, METAVAR, \
287+
VALUES) \
288+
llvm::opt::OptTable::Info { \
289+
PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, llvm::opt::Option::KIND##Class, \
290+
PARAM, FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS, VALUES \
291+
}
292+
265293
#endif // LLVM_OPTION_OPTTABLE_H

llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,14 @@ using namespace jitlink;
1818
#define DEBUG_TYPE "jitlink"
1919

2020
// Create prefix string literals used in Options.td
21-
#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE;
21+
#define PREFIX(NAME, VALUE) const char *const COFF_OPT_##NAME[] = VALUE;
2222
#include "COFFOptions.inc"
2323
#undef PREFIX
2424

2525
// Create table mapping all options defined in COFFOptions.td
2626
static const opt::OptTable::Info infoTable[] = {
27-
#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) \
28-
{X1, \
29-
X2, \
30-
X10, \
31-
X11, \
32-
COFF_OPT_##ID, \
33-
opt::Option::KIND##Class, \
34-
X9, \
35-
X8, \
36-
COFF_OPT_##GROUP, \
37-
COFF_OPT_##ALIAS, \
38-
X7, \
39-
X12},
27+
#define OPTION(...) \
28+
LLVM_CONSTRUCT_OPT_INFO_WITH_ID_PREFIX(COFF_OPT_, __VA_ARGS__),
4029
#include "COFFOptions.inc"
4130
#undef OPTION
4231
};

llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace jitlink {
2626

2727
enum {
2828
COFF_OPT_INVALID = 0,
29-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) COFF_OPT_##ID,
29+
#define OPTION(...) LLVM_MAKE_OPT_ID_WITH_ID_PREFIX(COFF_OPT_, __VA_ARGS__),
3030
#include "COFFOptions.inc"
3131
#undef OPTION
3232
};

llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "llvm/Object/COFFModuleDefinition.h"
1919
#include "llvm/Option/Arg.h"
2020
#include "llvm/Option/ArgList.h"
21+
#include "llvm/Option/OptTable.h"
2122
#include "llvm/Option/Option.h"
2223
#include "llvm/Support/Host.h"
2324
#include "llvm/Support/Path.h"
@@ -32,7 +33,7 @@ namespace {
3233

3334
enum {
3435
OPT_INVALID = 0,
35-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
36+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
3637
#include "Options.inc"
3738
#undef OPTION
3839
};
@@ -42,9 +43,7 @@ enum {
4243
#undef PREFIX
4344

4445
static const llvm::opt::OptTable::Info InfoTable[] = {
45-
#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) \
46-
{X1, X2, X10, X11, OPT_##ID, llvm::opt::Option::KIND##Class, \
47-
X9, X8, OPT_##GROUP, OPT_##ALIAS, X7, X12},
46+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
4847
#include "Options.inc"
4948
#undef OPTION
5049
};

llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "llvm/Object/WindowsMachineFlag.h"
2323
#include "llvm/Option/Arg.h"
2424
#include "llvm/Option/ArgList.h"
25+
#include "llvm/Option/OptTable.h"
2526
#include "llvm/Option/Option.h"
2627
#include "llvm/Support/CommandLine.h"
2728
#include "llvm/Support/Path.h"
@@ -35,7 +36,7 @@ namespace {
3536

3637
enum {
3738
OPT_INVALID = 0,
38-
#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
39+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
3940
#include "Options.inc"
4041
#undef OPTION
4142
};
@@ -45,9 +46,7 @@ enum {
4546
#undef PREFIX
4647

4748
static const opt::OptTable::Info InfoTable[] = {
48-
#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X7, X8, X9, X10, X11, X12) \
49-
{X1, X2, X10, X11, OPT_##ID, opt::Option::KIND##Class, \
50-
X9, X8, OPT_##GROUP, OPT_##ALIAS, X7, X12},
49+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
5150
#include "Options.inc"
5251
#undef OPTION
5352
};

llvm/tools/dsymutil/dsymutil.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ using namespace object;
5757
namespace {
5858
enum ID {
5959
OPT_INVALID = 0, // This is not an option ID.
60-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
61-
HELPTEXT, METAVAR, VALUES) \
62-
OPT_##ID,
60+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
6361
#include "Options.inc"
6462
#undef OPTION
6563
};
@@ -69,13 +67,7 @@ enum ID {
6967
#undef PREFIX
7068

7169
const opt::OptTable::Info InfoTable[] = {
72-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
73-
HELPTEXT, METAVAR, VALUES) \
74-
{ \
75-
PREFIX, NAME, HELPTEXT, \
76-
METAVAR, OPT_##ID, opt::Option::KIND##Class, \
77-
PARAM, FLAGS, OPT_##GROUP, \
78-
OPT_##ALIAS, ALIASARGS, VALUES},
70+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
7971
#include "Options.inc"
8072
#undef OPTION
8173
};

llvm/tools/llvm-cvtres/llvm-cvtres.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ namespace {
3737

3838
enum ID {
3939
OPT_INVALID = 0, // This is not an option ID.
40-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
41-
HELPTEXT, METAVAR, VALUES) \
42-
OPT_##ID,
40+
#define OPTION(...) LLVM_MAKE_OPT_ID(__VA_ARGS__),
4341
#include "Opts.inc"
4442
#undef OPTION
4543
};
@@ -49,13 +47,7 @@ enum ID {
4947
#undef PREFIX
5048

5149
const opt::OptTable::Info InfoTable[] = {
52-
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
53-
HELPTEXT, METAVAR, VALUES) \
54-
{ \
55-
PREFIX, NAME, HELPTEXT, \
56-
METAVAR, OPT_##ID, opt::Option::KIND##Class, \
57-
PARAM, FLAGS, OPT_##GROUP, \
58-
OPT_##ALIAS, ALIASARGS, VALUES},
50+
#define OPTION(...) LLVM_CONSTRUCT_OPT_INFO(__VA_ARGS__),
5951
#include "Opts.inc"
6052
#undef OPTION
6153
};

0 commit comments

Comments
 (0)