Files
RedBear-OS/local/recipes/dev/libclc/source/llvm/tools/llvm-ml/Opts.td
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

128 lines
7.1 KiB
TableGen

include "llvm/Option/OptParser.td"
// For LLVM-specific options, we prefer a two-dash prefix, but accept one for
// compatibility with llvm-mc. For clear separation from ML.EXE compatible
// options, slash is not accepted.
class LLVMFlag<string name> : Flag<["--", "-"], name>;
class LLVMJoined<string name> : Joined<["--", "-"], name>;
class LLVMJoinedOrSeparate<string name> : JoinedOrSeparate<["--", "-"], name>;
class LLVMSeparate<string name> : Separate<["--", "-"], name>;
class LLVMCommaJoined<string name> : CommaJoined<["--", "-"], name>;
def ml_Group : OptionGroup<"<ml options>">,
HelpText<"ML.EXE COMPATIBILITY OPTIONS">;
class MLFlag<string name> : Flag<["/", "-"], name>, Group<ml_Group>;
class MLJoined<string name> : Joined<["/", "-"], name>, Group<ml_Group>;
class MLJoinedOrSeparate<string name> : JoinedOrSeparate<["/", "-"], name>,
Group<ml_Group>;
class MLSeparate<string name> : Separate<["/", "-"], name>, Group<ml_Group>;
def unsupported_Group : OptionGroup<"unsupported">, Flags<[HelpHidden]>,
HelpText<"UNSUPPORTED ML.EXE COMPATIBILITY OPTIONS">;
class UnsupportedFlag<string name> : Flag<["/", "-"], name>,
Group<unsupported_Group>;
class UnsupportedJoined<string name> : Joined<["/", "-"], name>,
Group<unsupported_Group>;
class UnsupportedJoinedOrSeparate<string name> :
JoinedOrSeparate<["/", "-"], name>, Group<unsupported_Group>;
class UnsupportedSeparate<string name> : Separate<["/", "-"], name>,
Group<unsupported_Group>;
def bitness : LLVMJoined<"m">, Values<"32,64">,
HelpText<"Target platform (x86 or x86-64)">;
def as_lex : LLVMFlag<"as-lex">,
HelpText<"Lex tokens from a file without assembling">;
def debug : LLVMFlag<"debug">, Flags<[HelpHidden]>,
HelpText<"Enable debug output">;
def debug_only : LLVMCommaJoined<"debug-only=">, Flags<[HelpHidden]>,
HelpText<"Enable a specific type of debug output (comma "
"separated list of types)">;
def fatal_warnings : LLVMFlag<"fatal-warnings">,
HelpText<"Treat warnings as errors">;
def filetype : LLVMJoined<"filetype=">, Values<"obj,s,null">,
HelpText<"Emit a file with the given type">;
def output_att_asm : LLVMFlag<"output-att-asm">,
HelpText<"Use ATT syntax for output assembly">;
def show_encoding : LLVMFlag<"show-encoding">,
HelpText<"Show instruction encodings in output assembly">;
def show_inst : LLVMFlag<"show-inst">,
HelpText<"Show internal instruction representation in output "
"assembly">;
def show_inst_operands : LLVMFlag<"show-inst-operands">,
HelpText<"Show instructions operands as parsed">;
def print_imm_hex : LLVMFlag<"print-imm-hex">,
HelpText<"Prefer hex format for immediate values in output "
"assembly">;
def preserve_comments : LLVMFlag<"preserve-comments">,
HelpText<"Preserve comments in output assembly">;
def save_temp_labels : LLVMFlag<"save-temp-labels">,
HelpText<"Don't discard temporary labels">;
def timestamp : LLVMJoined<"timestamp=">,
HelpText<"Specify the assembly timestamp (used for @Date and "
"@Time built-ins)">;
def utc : LLVMFlag<"utc">,
HelpText<"Render @Date and @Time built-ins in GMT/UTC">;
def gmtime : LLVMFlag<"gmtime">, Alias<utc>;
def help : MLFlag<"?">,
HelpText<"Display available options">;
def help_long : MLFlag<"help">, Alias<help>;
def assemble_only : MLFlag<"c">, HelpText<"Assemble only; do not link">;
def define : MLJoinedOrSeparate<"D">, MetaVarName<"<macro>=<value>">,
HelpText<"Define <macro> to <value> (or blank if <value> "
"omitted)">;
def no_logo : MLFlag<"nologo">, HelpText<"">;
def quiet : MLFlag<"quiet">, HelpText<"">;
def output_file : MLJoinedOrSeparate<"Fo">, HelpText<"Names the output file">;
def include_path : MLJoinedOrSeparate<"I">,
HelpText<"Sets path for include files">;
def safeseh : MLFlag<"safeseh">,
HelpText<"Mark resulting object files as either containing no "
"exception handlers or containing exception handlers "
"that are all declared with .SAFESEH. Only available in "
"32-bit.">;
def assembly_file : MLJoinedOrSeparate<"Ta">,
HelpText<"Assemble source file with the given name. Used "
"if the filename begins with a forward slash.">;
def error_on_warning : MLFlag<"WX">, Alias<fatal_warnings>;
def parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">,
Alias<filetype>, AliasArgs<["null"]>;
def ignore_include_envvar : MLFlag<"X">,
HelpText<"Ignore the INCLUDE environment variable">;
def tiny_model_support : UnsupportedFlag<"AT">, HelpText<"">;
def alternate_linker : UnsupportedJoined<"Bl">, HelpText<"">;
def coff_object_file : UnsupportedFlag<"coff">, HelpText<"">;
def preserve_identifier_case : UnsupportedFlag<"Cp">, HelpText<"">;
def uppercase_identifiers : UnsupportedFlag<"Cu">, HelpText<"">;
def preserve_extern_case : UnsupportedFlag<"Cx">, HelpText<"">;
def output_preprocessed : UnsupportedFlag<"EP">, HelpText<"">;
def errorreport : UnsupportedJoined<"ERRORREPORT">, HelpText<"">;
def stacksize : UnsupportedSeparate<"F">, HelpText<"">;
def executable_file : UnsupportedSeparate<"Fe">, HelpText<"">;
def code_listing_file : UnsupportedJoined<"FI">, HelpText<"">;
def linker_map_file : UnsupportedJoined<"Fm">, HelpText<"">;
def fp_emulator_fixups : UnsupportedFlag<"FPi">, HelpText<"">;
def source_browser_file : UnsupportedJoined<"Fr">, HelpText<"">;
def extended_source_browser_file : UnsupportedJoined<"FR">, HelpText<"">;
def pascal_conventions : UnsupportedFlag<"Gc">, HelpText<"">;
def c_conventions : UnsupportedFlag<"Gd">, HelpText<"">;
def stdcall_conventions : UnsupportedFlag<"GZ">, HelpText<"">;
def extern_name_limit : UnsupportedSeparate<"H">, HelpText<"">;
def omf_object_file : UnsupportedFlag<"omf">, HelpText<"">;
def full_listing : UnsupportedFlag<"Sa">, HelpText<"">;
def first_pass_listing : UnsupportedFlag<"Sf">, HelpText<"">;
def listing_width : UnsupportedSeparate<"SI">, HelpText<"">;
def listing_without_symbols : UnsupportedFlag<"Sn">, HelpText<"">;
def listing_page_length : UnsupportedSeparate<"Sp">, HelpText<"">;
def listing_subtitle : UnsupportedSeparate<"Ss">, HelpText<"">;
def listing_title : UnsupportedSeparate<"St">, HelpText<"">;
def listing_false_conditionals : UnsupportedFlag<"Sx">, HelpText<"">;
def extra_warnings : UnsupportedFlag<"w">, HelpText<"">;
def warning_level : UnsupportedJoined<"W">, HelpText<"">;
def line_number_info : UnsupportedFlag<"Zd">, HelpText<"">;
def export_all_symbols : UnsupportedFlag<"Zf">, HelpText<"">;
def codeview_info : UnsupportedFlag<"Zi">, HelpText<"">;
def enable_m510_option : UnsupportedFlag<"Zm">, HelpText<"">;
def structure_packing : UnsupportedJoined<"Zp">, HelpText<"">;