File: Options.td

package info (click to toggle)
llvm-toolchain-20 1%3A20.1.8-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,111,388 kB
  • sloc: cpp: 7,438,767; ansic: 1,393,871; asm: 1,012,926; python: 241,728; f90: 86,635; objc: 75,411; lisp: 42,144; pascal: 17,286; sh: 10,027; ml: 5,082; perl: 4,730; awk: 3,523; makefile: 3,349; javascript: 2,251; xml: 892; fortran: 672
file content (56 lines) | stat: -rw-r--r-- 2,230 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
include "llvm/Option/OptParser.td"

// lib.exe accepts options starting with either a dash or a slash.

// Flag that takes no arguments.
class F<string name> : Flag<["/", "-", "/?", "-?"], name>;

// Flag that takes one argument after ":".
class P<string name, string help> :
      Joined<["/", "-", "/?", "-?"], name#":">, HelpText<help>;

// Boolean flag which can be suffixed by ":no". Using it unsuffixed turns the
// flag on and using it suffixed by ":no" turns it off.
multiclass B<string name, string help_on, string help_off> {
  def "" : F<name>, HelpText<help_on>;
  def _no : F<name#":no">, HelpText<help_off>;
}

def ignore : P<"ignore", "Specify warning codes to ignore">;
def libpath: P<"libpath", "Object file search path">;

// Can't be called "list" since that's a keyword.
def lst    : F<"list">, HelpText<"List contents of .lib file on stdout">;
def out    : P<"out", "Path to file to write output">;
def deffile : P<"def", "def file to use to generate import library">;
def nativedeffile : P<"defArm64Native", "def file to use to generate native ARM64 symbols in ARM64EC import library">;

def llvmlibthin : F<"llvmlibthin">,
    HelpText<"Make .lib point to .obj files instead of copying their contents">;

defm llvmlibindex : B<"llvmlibindex", "Write an index to the output (default)",
                      "Do not write an index to the output">;

def llvmlibempty : F<"llvmlibempty">,
    HelpText<"When given no contents, produce an empty .lib file">;

def machine: P<"machine", "Specify target platform">;

defm WX : B<"WX", "Treat warnings as errors",
            "Don't treat warnings as errors (default)">;

def help : F<"help">;

// /?? and -?? must be before /? and -? to not confuse lib/Options.
def help_q : Flag<["/??", "-??", "/?", "-?"], "">, Alias<help>;

//==============================================================================
// The flags below do nothing. They are defined only for lib.exe compatibility.
//==============================================================================

def ltcg : F<"ltcg">;
def nodefaultlib: P<"nodefaultlib", "">;
def nodefaultlib_all: F<"nodefaultlib">;
def nologo : F<"nologo">;
def subsystem : P<"subsystem", "">;
def verbose : F<"verbose">;