RSCCOptions.td revision ffa58bb392b79944a1cc23b0d41cbef9a34f8c2e
1b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 2b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// 3b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// This file defines the options accepted by llvm-rs-cc. 4b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// 5b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 6b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 7b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Include the common option parsing interfaces. 8b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaoinclude "clang/Driver/OptParser.td" 9b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 10b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 11b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Target Options 12b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 13b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 14b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef target_cpu : Separate<"-target-cpu">, 15b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Target a specific cpu type">; 16b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _target_cpu : Flag<"-u">, Alias<target_cpu>; 17b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef target_feature : Separate<"-target-feature">, 18b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Target specific attributes">; 19b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef triple : Separate<"-triple">, 20b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; 21b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef triple_EQ : Joined<"-triple=">, Alias<triple>; 22b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _triple : Separate<"-t">, Alias<triple>; 23b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 24b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 25b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Header Search Options 26b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 27b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 28b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef I : JoinedOrSeparate<"-I">, MetaVarName<"<directory>">, 29b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Add directory to include search path">; 30b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _I : Separate<"include-path">, MetaVarName<"<directory>">, Alias<I>; 31b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 32b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 33b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Frontend Options 34b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 35b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 36b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef o : Separate<"-o">, MetaVarName<"<directory>">, 37b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Specify output directory">; 38b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 39b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef Output_Type_Group : OptionGroup<"<output type group>">; 40b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaolet Group = Output_Type_Group in { 41b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 42b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef emit_asm : Flag<"-emit-asm">, 43b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Emit target assembly files">; 44b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _emit_asm : Flag<"-S">, Alias<emit_asm>; 45b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef emit_llvm : Flag<"-emit-llvm">, 46b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Build ASTs then convert to LLVM, emit .ll file">; 47b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef emit_bc : Flag<"-emit-bc">, 48b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Build ASTs then convert to LLVM, emit .bc file">; 49b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef emit_nothing : Flag<"-emit-nothing">, 50b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Build ASTs then convert to LLVM, but emit nothing">; 51b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao} 52b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 53b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef allow_rs_prefix : Flag<"-allow-rs-prefix">, 54b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Allow user-defined function prefixed with 'rs'">; 55b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 56b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef java_reflection_path_base : Separate<"-java-reflection-path-base">, 57b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao MetaVarName<"<directory>">, 58b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Base directory for output reflected Java files">; 59b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _java_reflection_path_base : Separate<"-p">, 60b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao Alias<java_reflection_path_base>; 61b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef java_reflection_package_name : Separate<"-java-reflection-package-name">, 62b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Specify the package name that reflected Java files belong to">; 63b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _java_reflection_package_name : Separate<"-j">, 64b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao Alias<java_reflection_package_name>; 65b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 66b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef bitcode_storage : Separate<"-bitcode-storage">, 67b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao MetaVarName<"<value>">, HelpText<"<value> should be 'ar' or 'jc'">; 68b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _bitcode_storage : Separate<"-s">, Alias<bitcode_storage>; 69b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 70b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 71b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Dependency Output Options 72b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 73b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 74b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef M_Group : OptionGroup<"M group>">; 75b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaolet Group = M_Group in { 76b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 77b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao def MD : Flag<"-MD">; 78b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 79b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao def M : Flag<"-M">; 80b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao def emit_dep : Flag<"-emit-dep">, Alias<M>; 81b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao} 82b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 83b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef output_dep_dir : Separate<"-output-dep-dir">, MetaVarName<"<directory>">, 84b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Specify output directory for dependencies output">; 85b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _output_dep_dir : Separate<"-d">, Alias<output_dep_dir>; 86b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 87ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liaodef additional_dep_target: Separate<"-additional-dep-target">, 88b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Additional targets to show up in dependencies output">; 89b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _additional_dep_target : Separate<"-a">, Alias<additional_dep_target>; 90b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 91b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 92b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao// Misc Options 93b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao//===----------------------------------------------------------------------===// 94b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 95b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef help : Flag<"-help">, 96b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Print this help text">; 97b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _help : Flag<"--help">, Alias<help>; 98b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef __help : Flag<"-h">, Alias<help>; 99b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 100b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef version : Flag<"-version">, 101b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao HelpText<"Print the assembler version">; 102b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaodef _version : Flag<"--version">, Alias<version>; 103ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liao 104ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liao// Compatible with old slang 105ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liaodef no_link : Flag<"-no-link">; // currently no effect 106