|  | include "llvm/Option/OptParser.td" | 
|  |  | 
|  | // All the switches can be preceded by either '/' or '-'. | 
|  | // These options seem to be important for the tool | 
|  | // and should be implemented. | 
|  |  | 
|  | class S<string name, string help> : | 
|  | Separate<["/", "-"], name>, HelpText<help>; | 
|  |  | 
|  | class JS<string name, string help> : | 
|  | JoinedOrSeparate<["/", "-"], name>, HelpText<help>; | 
|  |  | 
|  | class F<string name, string help> : Flag<["/", "-"], name>, HelpText<help>; | 
|  |  | 
|  | class F_nodoc<string name> : Flag<["/", "-"], name>; | 
|  | class S_nodoc<string name> : Separate<["/", "-"], name>; | 
|  |  | 
|  | def fileout : JS<"FO", "Change the output file location.">; | 
|  |  | 
|  | def define : JS<"D", "Define a symbol for the C preprocessor.">; | 
|  | def undef : JS<"U", "Undefine a symbol for the C preprocessor.">; | 
|  |  | 
|  | def lang_id : JS<"L", "Set the default language identifier.">; | 
|  | def lang_name : S<"LN", "Set the default language name.">; | 
|  |  | 
|  | def includepath : JS<"I", "Add an include path.">; | 
|  | def noinclude : F<"X", "Ignore 'include' variable.">; | 
|  |  | 
|  | def add_null : F<"N", "Null-terminate all strings in the string table.">; | 
|  |  | 
|  | def dupid_nowarn : F<"Y", "Suppress warnings on duplicate resource IDs.">; | 
|  |  | 
|  | def verbose : F<"V", "Be verbose.">; | 
|  | def help : F<"?", "Display this help and exit.">; | 
|  | def h : F<"H", "Display this help and exit.">, Alias<help>; | 
|  |  | 
|  | def codepage : JS<"C", "Set the codepage used for input strings.">; | 
|  |  | 
|  | // llvm-rc specific options: | 
|  |  | 
|  | def dry_run : F<"dry-run", "Don't compile the input; only try to parse it.">; | 
|  |  | 
|  | def no_preprocess : F<"no-preprocess", "Don't try to preprocess the input file.">; | 
|  |  | 
|  | // Print (but do not run) the commands to run for preprocessing | 
|  | def _HASH_HASH_HASH : F_nodoc<"###">; | 
|  |  | 
|  | // Unused switches (at least for now). These will stay unimplemented | 
|  | // in an early stage of development and can be ignored. However, we need to | 
|  | // parse them in order to preserve the compatibility with the original tool. | 
|  |  | 
|  | def nologo : F_nodoc<"NOLOGO">; | 
|  | def r : F_nodoc<"R">; | 
|  | def sl : F_nodoc<"SL">; | 
|  |  | 
|  | // (Codepages support.) | 
|  | def w : F_nodoc<"W">; | 
|  |  | 
|  | // (Support of MUI and similar.) | 
|  | def fm : S_nodoc<"FM">; | 
|  | def q : S_nodoc<"Q">; | 
|  | def g : F_nodoc<"G">; | 
|  | def gn : F_nodoc<"GN">; | 
|  | def g1 : F_nodoc<"G1">; | 
|  | def g2 : F_nodoc<"G2">; |