xref: /freebsd-src/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/COFFOptions.td (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
1*bdd1243dSDimitry Andricinclude "llvm/Option/OptParser.td"
2*bdd1243dSDimitry Andric
3*bdd1243dSDimitry Andric// link.exe accepts options starting with either a dash or a slash.
4*bdd1243dSDimitry Andric
5*bdd1243dSDimitry Andric// Flag that takes no arguments.
6*bdd1243dSDimitry Andricclass F<string name> : Flag<["/", "-", "/?", "-?"], name>;
7*bdd1243dSDimitry Andric
8*bdd1243dSDimitry Andric// Flag that takes one argument after ":".
9*bdd1243dSDimitry Andricclass P<string name> :
10*bdd1243dSDimitry Andric      Joined<["/", "-", "/?", "-?"], name#":">;
11*bdd1243dSDimitry Andric
12*bdd1243dSDimitry Andric// Boolean flag which can be suffixed by ":no". Using it unsuffixed turns the
13*bdd1243dSDimitry Andric// flag on and using it suffixed by ":no" turns it off.
14*bdd1243dSDimitry Andricmulticlass B_priv<string name> {
15*bdd1243dSDimitry Andric  def "" : F<name>;
16*bdd1243dSDimitry Andric  def _no : F<name#":no">;
17*bdd1243dSDimitry Andric}
18*bdd1243dSDimitry Andric
19*bdd1243dSDimitry Andricdef export  : P<"export">;
20*bdd1243dSDimitry Andricdef alternatename : P<"alternatename">;
21*bdd1243dSDimitry Andricdef incl : Joined<["/", "-", "/?", "-?"], "include:">;