diff options
Diffstat (limited to 'include/clang/Driver/CC1Options.td')
-rw-r--r-- | include/clang/Driver/CC1Options.td | 115 |
1 files changed, 83 insertions, 32 deletions
diff --git a/include/clang/Driver/CC1Options.td b/include/clang/Driver/CC1Options.td index 85cfdcf3946b..d25560c9f3ac 100644 --- a/include/clang/Driver/CC1Options.td +++ b/include/clang/Driver/CC1Options.td @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// // -// This file defines the options accepted by clang -cc1. +// This file defines the options accepted by clang -cc1 and clang -cc1as. // //===----------------------------------------------------------------------===// @@ -17,21 +17,24 @@ let Flags = [CC1Option, NoDriverOption] in { // Target Options //===----------------------------------------------------------------------===// -def cxx_abi : Separate<["-"], "cxx-abi">, - HelpText<"Target a particular C++ ABI type">; -def target_abi : Separate<["-"], "target-abi">, - HelpText<"Target a particular ABI type">; +let Flags = [CC1Option, CC1AsOption, NoDriverOption] in { + def target_cpu : Separate<["-"], "target-cpu">, HelpText<"Target a specific cpu type">; -def mfpmath : Separate<["-"], "mfpmath">, - HelpText<"Which unit to use for fp math">; def target_feature : Separate<["-"], "target-feature">, HelpText<"Target specific attributes">; -def target_linker_version : Separate<["-"], "target-linker-version">, - HelpText<"Target linker version">; def triple : Separate<["-"], "triple">, HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; + +} + +def target_abi : Separate<["-"], "target-abi">, + HelpText<"Target a particular ABI type">; +def target_linker_version : Separate<["-"], "target-linker-version">, + HelpText<"Target linker version">; def triple_EQ : Joined<["-"], "triple=">, Alias<triple>; +def mfpmath : Separate<["-"], "mfpmath">, + HelpText<"Which unit to use for fp math">; //===----------------------------------------------------------------------===// // Analyzer Options @@ -124,22 +127,37 @@ def migrator_no_finalize_removal : Flag<["-"], "no-finalize-removal">, // CodeGen Options //===----------------------------------------------------------------------===// +let Flags = [CC1Option, CC1AsOption, NoDriverOption] in { + +def fdebug_compilation_dir : Separate<["-"], "fdebug-compilation-dir">, + HelpText<"The compilation directory to embed in the debug info.">; +def dwarf_debug_flags : Separate<["-"], "dwarf-debug-flags">, + HelpText<"The string to embed in the Dwarf debug flags record.">; +def mno_exec_stack : Flag<["-"], "mnoexecstack">, + HelpText<"Mark the file as not needing an executable stack">; +def compress_debug_sections : Flag<["-"], "compress-debug-sections">, + HelpText<"Compress DWARF debug sections using zlib">; +def msave_temp_labels : Flag<["-"], "msave-temp-labels">, + HelpText<"Save temporary labels in the symbol table. " + "Note this may change .s semantics and shouldn't generally be used " + "on compiler-generated code.">; + +} + def disable_llvm_optzns : Flag<["-"], "disable-llvm-optzns">, HelpText<"Don't run LLVM optimization passes">; def disable_llvm_verifier : Flag<["-"], "disable-llvm-verifier">, HelpText<"Don't run the LLVM IR verifier pass">; def disable_red_zone : Flag<["-"], "disable-red-zone">, HelpText<"Do not emit code that uses the red zone.">; -def fdebug_compilation_dir : Separate<["-"], "fdebug-compilation-dir">, - HelpText<"The compilation directory to embed in the debug info.">; -def dwarf_debug_flags : Separate<["-"], "dwarf-debug-flags">, - HelpText<"The string to embed in the Dwarf debug flags record.">; def dwarf_column_info : Flag<["-"], "dwarf-column-info">, HelpText<"Turn on column location information.">; def split_dwarf : Flag<["-"], "split-dwarf">, HelpText<"Split out the dwarf .dwo sections">; def gnu_pubnames : Flag<["-"], "gnu-pubnames">, HelpText<"Emit newer GNU style pubnames">; +def arange_sections : Flag<["-"], "arange_sections">, + HelpText<"Emit DWARF .debug_arange sections">; def fforbid_guard_variables : Flag<["-"], "fforbid-guard-variables">, HelpText<"Emit an error if a C++ static local initializer would need a guard variable">; def no_implicit_float : Flag<["-"], "no-implicit-float">, @@ -188,8 +206,6 @@ def mfloat_abi : Separate<["-"], "mfloat-abi">, HelpText<"The float ABI to use">; def mlimit_float_precision : Separate<["-"], "mlimit-float-precision">, HelpText<"Limit float precision to the given value">; -def mno_exec_stack : Flag<["-"], "mnoexecstack">, - HelpText<"Mark the file as not needing an executable stack">; def split_stacks : Flag<["-"], "split-stacks">, HelpText<"Try to use a split stack if possible.">; def mno_zero_initialized_in_bss : Flag<["-"], "mno-zero-initialized-in-bss">, @@ -198,8 +214,6 @@ def backend_option : Separate<["-"], "backend-option">, HelpText<"Additional arguments to forward to LLVM backend (during code gen)">; def mregparm : Separate<["-"], "mregparm">, HelpText<"Limit the number of registers available for integer arguments">; -def msave_temp_labels : Flag<["-"], "msave-temp-labels">, - HelpText<"(integrated-as) Save temporary labels">; def mrelocation_model : Separate<["-"], "mrelocation-model">, HelpText<"The relocation model to use">; def munwind_tables : Flag<["-"], "munwind-tables">, @@ -223,10 +237,12 @@ def dependent_lib : Joined<["--"], "dependent-lib=">, def sys_header_deps : Flag<["-"], "sys-header-deps">, HelpText<"Include system headers in dependency output">; +def module_file_deps : Flag<["-"], "module-file-deps">, + HelpText<"Include module files in dependency output">; def header_include_file : Separate<["-"], "header-include-file">, HelpText<"Filename (or -) to write header include output to">; def show_includes : Flag<["--"], "show-includes">, - HelpText<"Print cl.exe style /showIncludes to stderr">; + HelpText<"Print cl.exe style /showIncludes to stdout">; //===----------------------------------------------------------------------===// // Diagnostic Options @@ -256,6 +272,8 @@ def fconstexpr_backtrace_limit : Separate<["-"], "fconstexpr-backtrace-limit">, HelpText<"Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).">; def fmessage_length : Separate<["-"], "fmessage-length">, MetaVarName<"<N>">, HelpText<"Format message diagnostics so that they fit within N columns or fewer, when possible.">; +def verify : Flag<["-"], "verify">, + HelpText<"Verify diagnostic output using comment directives">; def Wno_rewrite_macros : Flag<["-"], "Wno-rewrite-macros">, HelpText<"Silence ObjC rewriting warnings">; @@ -266,6 +284,7 @@ def Wno_rewrite_macros : Flag<["-"], "Wno-rewrite-macros">, // This isn't normally used, it is just here so we can parse a // CompilerInvocation out of a driver-derived argument vector. def cc1 : Flag<["-"], "cc1">; +def cc1as : Flag<["-"], "cc1as">; def ast_merge : Separate<["-"], "ast-merge">, MetaVarName<"<ast file>">, @@ -297,8 +316,6 @@ def plugin_arg : JoinedAndSeparate<["-"], "plugin-arg-">, HelpText<"Pass <arg> to plugin <name>">; def add_plugin : Separate<["-"], "add-plugin">, MetaVarName<"<name>">, HelpText<"Use the named plugin action in addition to the default action">; -def version : Flag<["-"], "version">, - HelpText<"Print the compiler version">; def ast_dump_filter : Separate<["-"], "ast-dump-filter">, MetaVarName<"<dump_filter>">, HelpText<"Use with -ast-dump or -ast-print to dump/print only AST declaration" @@ -308,6 +325,8 @@ def ast_dump_lookups : Flag<["-"], "ast-dump-lookups">, HelpText<"Include name lookup table dumps in AST dumps">; def fno_modules_global_index : Flag<["-"], "fno-modules-global-index">, HelpText<"Do not automatically generate or update the global module index">; +def fno_modules_error_recovery : Flag<["-"], "fno-modules-error-recovery">, + HelpText<"Do not automatically import modules for error recovery">; let Group = Action_Group in { @@ -393,14 +412,19 @@ def foverride_record_layout_EQ : Joined<["-"], "foverride-record-layout=">, // Language Options //===----------------------------------------------------------------------===// +let Flags = [CC1Option, CC1AsOption, NoDriverOption] in { + +def version : Flag<["-"], "version">, + HelpText<"Print the compiler version">; +def main_file_name : Separate<["-"], "main-file-name">, + HelpText<"Main file name to use for debug info">; + +} + def fblocks_runtime_optional : Flag<["-"], "fblocks-runtime-optional">, HelpText<"Weakly link in the blocks runtime">; def fsjlj_exceptions : Flag<["-"], "fsjlj-exceptions">, HelpText<"Use SjLj style exceptions">; -def fhidden_weak_vtables : Flag<["-"], "fhidden-weak-vtables">, - HelpText<"Generate weak vtables and RTTI with hidden visibility">; -def main_file_name : Separate<["-"], "main-file-name">, - HelpText<"Main file name to use for debug info">; def split_dwarf_file : Separate<["-"], "split-dwarf-file">, HelpText<"File name to use for split dwarf debug info output">; def fno_wchar : Flag<["-"], "fno-wchar">, @@ -476,6 +500,10 @@ def fsized_deallocation : Flag<["-"], "fsized-deallocation">, HelpText<"Enable C++1y sized global deallocation functions">; def fobjc_subscripting_legacy_runtime : Flag<["-"], "fobjc-subscripting-legacy-runtime">, HelpText<"Allow Objective-C array and dictionary subscripting in legacy runtime">; +def vtordisp_mode_EQ : Joined<["-"], "vtordisp-mode=">, + HelpText<"Control vtordisp placement on win32 targets">; +def fno_rtti_data : Flag<["-"], "fno-rtti-data">, + HelpText<"Control emission of RTTI data">; //===----------------------------------------------------------------------===// // Header Search Options @@ -504,14 +532,6 @@ def internal_externc_isystem : JoinedOrSeparate<["-"], "internal-externc-isystem "implicit extern \"C\" semantics; these are assumed to not be " "user-provided and are used to model system and standard headers' " "paths.">; -def isystem_prefix : JoinedOrSeparate<["-"], "isystem-prefix">, - MetaVarName<"<prefix>">, - HelpText<"Treat all #include paths starting with <prefix> as including a " - "system header.">; -def ino_system_prefix : JoinedOrSeparate<["-"], "ino-system-prefix">, - MetaVarName<"<prefix>">, - HelpText<"Treat all #include paths starting with <prefix> as not including a " - "system header.">; //===----------------------------------------------------------------------===// // Preprocessor Options @@ -539,6 +559,8 @@ def cl_single_precision_constant : Flag<["-"], "cl-single-precision-constant">, HelpText<"OpenCL only. Treat double precision floating-point constant as single precision constant.">; def cl_finite_math_only : Flag<["-"], "cl-finite-math-only">, HelpText<"OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.">; +def cl_kernel_arg_info : Flag<["-"], "cl-kernel-arg-info">, + HelpText<"OpenCL only. Generate kernel argument metadata.">; def cl_unsafe_math_optimizations : Flag<["-"], "cl-unsafe-math-optimizations">, HelpText<"OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable">; def cl_fast_relaxed_math : Flag<["-"], "cl-fast-relaxed-math">, @@ -556,3 +578,32 @@ def fcuda_is_device : Flag<["-"], "fcuda-is-device">, HelpText<"Generate code for CUDA device">; } // let Flags = [CC1Option] + + +//===----------------------------------------------------------------------===// +// cc1as-only Options +//===----------------------------------------------------------------------===// + +let Flags = [CC1AsOption, NoDriverOption] in { + +// Language Options +def n : Flag<["-"], "n">, + HelpText<"Don't automatically start assembly file with a text section">; + +// Frontend Options +def filetype : Separate<["-"], "filetype">, + HelpText<"Specify the output file type ('asm', 'null', or 'obj')">; + +// Transliterate Options +def output_asm_variant : Separate<["-"], "output-asm-variant">, + HelpText<"Select the asm variant index to use for output">; +def show_encoding : Flag<["-"], "show-encoding">, + HelpText<"Show instruction encoding information in transliterate mode">; +def show_inst : Flag<["-"], "show-inst">, + HelpText<"Show internal instruction representation in transliterate mode">; + +// Assemble Options +def dwarf_debug_producer : Separate<["-"], "dwarf-debug-producer">, + HelpText<"The string to embed in the Dwarf debug AT_producer record.">; + +} // let Flags = [CC1AsOption] |