CC1Options.td revision 1eef85246b411b55c493098266746d0d83c241ea
18adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar//===--- CC1Options.td - Options for clang -cc1 ---------------------------===// 28adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// 38adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// The LLVM Compiler Infrastructure 48adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// 58adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// This file is distributed under the University of Illinois Open Source 68adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// License. See LICENSE.TXT for details. 78adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// 88adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar//===----------------------------------------------------------------------===// 98adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// 108adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// This file defines the options accepted by clang -cc1. 118adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// 128adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar//===----------------------------------------------------------------------===// 138adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar 14f1eaab122932a5c61b13ce9ae6d590e24558eb84Richard Smithlet Flags = [CC1Option, NoDriverOption] in { 158adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar 1633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 178adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// Target Options 1833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 198adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar 20c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cxx_abi : Separate<["-"], "cxx-abi">, 2198b7c5c496dfccb39287b8f7d8f1444594936d10Charles Davis HelpText<"Target a particular C++ ABI type">; 22c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef target_abi : Separate<["-"], "target-abi">, 238adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Target a particular ABI type">; 24c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef target_cpu : Separate<["-"], "target-cpu">, 2538b48afd338d494099697d2611e1f45e558e469eDaniel Dunbar HelpText<"Target a specific cpu type">; 265389b84a780ac17b63c10ad97cd5e3aaa41595b7Rafael Espindoladef mfpmath : Separate<["-"], "mfpmath">, 275389b84a780ac17b63c10ad97cd5e3aaa41595b7Rafael Espindola HelpText<"Which unit to use for fp math">; 28c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef target_feature : Separate<["-"], "target-feature">, 298adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Target specific attributes">; 30c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef target_linker_version : Separate<["-"], "target-linker-version">, 3139065a5494613952b4810d1d6b28348cef155e12Daniel Dunbar HelpText<"Target linker version">; 32c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef triple : Separate<["-"], "triple">, 338adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; 34c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef triple_EQ : Joined<["-"], "triple=">, Alias<triple>; 3550a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar 3633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 37e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar// Analyzer Options 3833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 39e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 40c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analysis_UnoptimizedCFG : Flag<["-"], "unoptimized-cfg">, 41c9c6b904f3fb4f515f7f041b7c49f5e3b7c53bd3Ted Kremenek HelpText<"Generate unoptimized CFGs for all analyses">; 42c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analysis_CFGAddImplicitDtors : Flag<["-"], "cfg-add-implicit-dtors">, 43c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencer HelpText<"Add C++ implicit destructors to CFGs for all analyses">; 44e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 45c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_store : Separate<["-"], "analyzer-store">, 46e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Abstract Memory Store Models">; 47c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_store_EQ : Joined<["-"], "analyzer-store=">, Alias<analyzer_store>; 48e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 49c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_constraints : Separate<["-"], "analyzer-constraints">, 50e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Symbolic Constraint Engines">; 51c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_constraints_EQ : Joined<["-"], "analyzer-constraints=">, 52e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar Alias<analyzer_constraints>; 53e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 54c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_output : Separate<["-"], "analyzer-output">, 55e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Output Options">; 56c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_output_EQ : Joined<["-"], "analyzer-output=">, 57e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar Alias<analyzer_output>; 58e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 59c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_purge : Separate<["-"], "analyzer-purge">, 60d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaks HelpText<"Source Code Analysis - Dead Symbol Removal Frequency">; 61c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_purge_EQ : Joined<["-"], "analyzer-purge=">, Alias<analyzer_purge>; 62d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaks 63c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_opt_analyze_headers : Flag<["-"], "analyzer-opt-analyze-headers">, 64e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Force the static analyzer to analyze functions defined in header files">; 65c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_opt_analyze_nested_blocks : Flag<["-"], "analyzer-opt-analyze-nested-blocks">, 6620249a1af2e462dcafdd6a350f1c7967b264ff25Michael J. Spencer HelpText<"Analyze the definitions of blocks in addition to functions">; 67c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_display_progress : Flag<["-"], "analyzer-display-progress">, 68e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Emit verbose output about the analyzer's progress">; 69c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyze_function : Separate<["-"], "analyze-function">, 70e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Run analysis on specific function">; 71c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyze_function_EQ : Joined<["-"], "analyze-function=">, Alias<analyze_function>; 72c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_eagerly_assume : Flag<["-"], "analyzer-eagerly-assume">, 73e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Eagerly assume the truth/falseness of some symbolic constraints">; 74c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef trim_egraph : Flag<["-"], "trim-egraph">, 75e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Only show error-related paths in the analysis graph">; 76c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_viz_egraph_graphviz : Flag<["-"], "analyzer-viz-egraph-graphviz">, 77e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Display exploded graph using GraphViz">; 78c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_viz_egraph_ubigraph : Flag<["-"], "analyzer-viz-egraph-ubigraph">, 79e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Display exploded graph using Ubigraph">; 8066253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks 81c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_inline_max_stack_depth : Separate<["-"], "analyzer-inline-max-stack-depth">, 828235f9c9c8b3d1737d1c6bd57f7ba3f616b92392Anna Zaks HelpText<"Bound on stack depth while inlining (4 by default)">; 83c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_inline_max_stack_depth_EQ : Joined<["-"], "analyzer-inline-max-stack-depth=">, 8466253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks Alias<analyzer_inline_max_stack_depth>; 8566253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks 86c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_inlining_mode : Separate<["-"], "analyzer-inlining-mode">, 8766253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks HelpText<"Specify the function selection heuristic used during inlining">; 88c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_inlining_mode_EQ : Joined<["-"], "analyzer-inlining-mode=">, Alias<analyzer_inlining_mode>; 895903a373db3d27794c90b25687e0dd6adb0e497dAnna Zaks 90c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_disable_retry_exhausted : Flag<["-"], "analyzer-disable-retry-exhausted">, 91b47dbcbc12430fdf3e5a5b9f59cdec5480e89e75Anna Zaks HelpText<"Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)">; 9266253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks 93c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_max_loop : Separate<["-"], "analyzer-max-loop">, 946362b893731ccf4480a96527db9e55e04b801503Zhongxing Xu HelpText<"The maximum number of times the analyzer will go through a loop">; 95c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_stats : Flag<["-"], "analyzer-stats">, 9681fb169f42769e02c7425b23885a261c025fd5e6Anna Zaks HelpText<"Print internal analyzer statistics.">; 97e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 98c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_checker : Separate<["-"], "analyzer-checker">, 9943dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis HelpText<"Choose analyzer checkers to enable">; 100c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_checker_EQ : Joined<["-"], "analyzer-checker=">, 10143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis Alias<analyzer_checker>; 10243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 103c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_disable_checker : Separate<["-"], "analyzer-disable-checker">, 10443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis HelpText<"Choose analyzer checkers to disable">; 105c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_disable_checker_EQ : Joined<["-"], "analyzer-disable-checker=">, 10643dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis Alias<analyzer_disable_checker>; 10743dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis 108c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_checker_help : Flag<["-"], "analyzer-checker-help">, 109116f3640daee424dfcdbe55e80be5a67476be4b0Argyrios Kyrtzidis HelpText<"Display the list of analyzer checkers that are available">; 110116f3640daee424dfcdbe55e80be5a67476be4b0Argyrios Kyrtzidis 111c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyzer_config : Separate<["-"], "analyzer-config">, 112318cc3c07eaca04d319be841e9e3bac35d1ff9f5Ted Kremenek HelpText<"Choose analyzer options to enable">; 1137b73e0832b20af1f43601a3d19e76d02d9f4dce5Ted Kremenek 11433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 115b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian// Migrator Options 116b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian//===----------------------------------------------------------------------===// 117c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef migrator_no_nsalloc_error : Flag<["-"], "no-ns-alloc-error">, 118b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian HelpText<"Do not error on use of NSAllocateCollectable/NSReallocateCollectable">; 119b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian 120c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef migrator_no_finalize_removal : Flag<["-"], "no-finalize-removal">, 12126f0e4e7ab534fb42485c930f20a424ecc8c9830Fariborz Jahanian HelpText<"Do not remove finalize method in gc mode">; 12226f0e4e7ab534fb42485c930f20a424ecc8c9830Fariborz Jahanian 123b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian//===----------------------------------------------------------------------===// 12450a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar// CodeGen Options 12533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 12650a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar 127c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef disable_llvm_optzns : Flag<["-"], "disable-llvm-optzns">, 12850a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Don't run LLVM optimization passes">; 129c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef disable_llvm_verifier : Flag<["-"], "disable-llvm-verifier">, 130824e19ed926d7aa1296a007d0607ac4437e3c4a9John McCall HelpText<"Don't run the LLVM IR verifier pass">; 131c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef disable_red_zone : Flag<["-"], "disable-red-zone">, 13250a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Do not emit code that uses the red zone.">; 133c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdebug_compilation_dir : Separate<["-"], "fdebug-compilation-dir">, 1347c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewycky HelpText<"The compilation directory to embed in the debug info.">; 135c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef dwarf_debug_flags : Separate<["-"], "dwarf-debug-flags">, 136f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar HelpText<"The string to embed in the Dwarf debug flags record.">; 137c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef dwarf_column_info : Flag<["-"], "dwarf-column-info">, 138da3301eec823fe770bfa49a1cb19649506caa698Eric Christopher HelpText<"Turn on column location information.">; 139c706c8e440abf61910c042380e19c67932998395Eric Christopherdef split_dwarf : Flag<["-"], "split-dwarf">, 140c706c8e440abf61910c042380e19c67932998395Eric Christopher HelpText<"Split out the dwarf .dwo sections">; 141c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fforbid_guard_variables : Flag<["-"], "fforbid-guard-variables">, 14232096695c76033a6b0b1747c439f7378a11e8312John McCall HelpText<"Emit an error if a C++ static local initializer would need a guard variable">; 143c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef no_implicit_float : Flag<["-"], "no-implicit-float">, 144005af27c607536038864ff36d480b5ecd066a267Chad Rosier HelpText<"Don't generate implicit floating point instructions">; 145c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdump_vtable_layouts : Flag<["-"], "fdump-vtable-layouts">, 146824d7ea07a4e9208925daa6ae9289fb2b39bce9fAnders Carlsson HelpText<"Dump the layouts of all vtables that will be emitted in a translation unit">; 147c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef femit_coverage_notes : Flag<["-"], "femit-coverage-notes">, 148e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky HelpText<"Emit a gcov coverage notes file when compiling.">; 149c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef femit_coverage_data: Flag<["-"], "femit-coverage-data">, 150e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky HelpText<"Instrument the program to emit gcov coverage data when run.">; 151c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef coverage_file : Separate<["-"], "coverage-file">, 1523dc05418538c719fea48b906bfa4febe5296e126Nick Lewycky HelpText<"Emit coverage data to this filename. The extension will be replaced.">; 153c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef coverage_file_EQ : Joined<["-"], "coverage-file=">, Alias<coverage_file>; 1540f815f1f91e5cf0726fd8296445038fec3bed80bNick Lewyckydef coverage_cfg_checksum : Flag<["-"], "coverage-cfg-checksum">, 1550f815f1f91e5cf0726fd8296445038fec3bed80bNick Lewycky HelpText<"Emit CFG checksum for functions in .gcno files.">; 15683c546afef39d6b7be69f3f399804ebf037c4022Nick Lewyckydef coverage_no_function_names_in_data : Flag<["-"], "coverage-no-function-names-in-data">, 1570f815f1f91e5cf0726fd8296445038fec3bed80bNick Lewycky HelpText<"Emit function names in .gcda files.">; 1580f815f1f91e5cf0726fd8296445038fec3bed80bNick Lewyckydef coverage_version_EQ : Joined<["-"], "coverage-version=">, 1590f815f1f91e5cf0726fd8296445038fec3bed80bNick Lewycky HelpText<"Four-byte version string for gcov files.">; 160f2b5e0707229e1149828ebc8d01d9308a997d6dfNick Lewyckydef test_coverage : Flag<["-"], "test-coverage">, 161f2b5e0707229e1149828ebc8d01d9308a997d6dfNick Lewycky HelpText<"Do not generate coverage files or remove coverage changes from IR">; 162c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fuse_register_sized_bitfield_access: Flag<["-"], "fuse-register-sized-bitfield-access">, 163e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar HelpText<"Use register sized accesses to bit-fields, when possible.">; 164c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef relaxed_aliasing : Flag<["-"], "relaxed-aliasing">, 165be570121a6da523020c3b11eb15aba97becb5d2fDevang Patel HelpText<"Turn off Type Based Alias Analysis">; 166b37a73d5c6a0c8bb1f6e363d3b53980e4fa0ceadManman Rendef struct_path_tbaa : Flag<["-"], "struct-path-tbaa">, 167b37a73d5c6a0c8bb1f6e363d3b53980e4fa0ceadManman Ren HelpText<"Turn on struct-path aware Type Based Alias Analysis">; 168c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef masm_verbose : Flag<["-"], "masm-verbose">, 169f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Generate verbose assembly output">; 170c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mcode_model : Separate<["-"], "mcode-model">, 171f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"The code model to use">; 172c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mdebug_pass : Separate<["-"], "mdebug-pass">, 173f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Enable additional debug output">; 174c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mdisable_fp_elim : Flag<["-"], "mdisable-fp-elim">, 175f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Disable frame pointer elimination optimization">; 176c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mdisable_tail_calls : Flag<["-"], "mdisable-tail-calls">, 1771db772bd68502e0dabbd8efeb7f7c64a4ab2e37aNick Lewycky HelpText<"Disable tail call optimization, keeping the call stack accurate">; 178c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef menable_no_infinities : Flag<["-"], "menable-no-infs">, 179001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbar HelpText<"Allow optimization to assume there are no infinities.">; 180c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef menable_no_nans : Flag<["-"], "menable-no-nans">, 181001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbar HelpText<"Allow optimization to assume there are no NaNs.">; 182c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef menable_unsafe_fp_math : Flag<["-"], "menable-unsafe-fp-math">, 183abf07a7fb669dcb74040eef948d61dfe3c59ff17Chandler Carruth HelpText<"Allow unsafe floating-point math optimizations which may decrease " 184abf07a7fb669dcb74040eef948d61dfe3c59ff17Chandler Carruth "precision">; 185c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mfloat_abi : Separate<["-"], "mfloat-abi">, 1863b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar HelpText<"The float ABI to use">; 187c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mlimit_float_precision : Separate<["-"], "mlimit-float-precision">, 188f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Limit float precision to the given value">; 189c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mno_exec_stack : Flag<["-"], "mnoexecstack">, 190c3b9014c7236a15cf467662264b243a22c420312Nick Lewycky HelpText<"Mark the file as not needing an executable stack">; 1913105627bd76d6a0cc5ee305c99f4c96519bac9acEric Christopherdef split_stacks : Flag<["-"], "split-stacks">, 1923105627bd76d6a0cc5ee305c99f4c96519bac9acEric Christopher HelpText<"Try to use a split stack if possible.">; 193c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mno_zero_initialized_in_bss : Flag<["-"], "mno-zero-initialized-in-bss">, 194f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Do not put zero initialized data in the BSS">; 195c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef backend_option : Separate<["-"], "backend-option">, 1963c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar HelpText<"Additional arguments to forward to LLVM backend (during code gen)">; 197c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mregparm : Separate<["-"], "mregparm">, 19817d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar HelpText<"Limit the number of registers available for integer arguments">; 199c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef msave_temp_labels : Flag<["-"], "msave-temp-labels">, 200969323239f16589329d091a2b8ef200fcfe7c9e9Daniel Dunbar HelpText<"(integrated-as) Save temporary labels">; 201c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mrelocation_model : Separate<["-"], "mrelocation-model">, 202f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"The relocation model to use">; 203c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef munwind_tables : Flag<["-"], "munwind-tables">, 204f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar HelpText<"Generate unwinding tables for all functions">; 205c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mconstructor_aliases : Flag<["-"], "mconstructor-aliases">, 206d46f98573ba104eda102dd3224b2dca69f1c6336John McCall HelpText<"Emit complete constructors and destructors as aliases when possible">; 207c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mlink_bitcode_file : Separate<["-"], "mlink-bitcode-file">, 20822a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbourne HelpText<"Link the given bitcode file before performing optimizations.">; 209fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewyckydef vectorize_loops : Flag<["-"], "vectorize-loops">, 210fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewycky HelpText<"Run the Loop vectorization passes">; 211fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewyckydef vectorize_slp : Flag<["-"], "vectorize-slp">, 212fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewycky HelpText<"Run the SLP vectorization passes">; 213fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewyckydef vectorize_slp_aggressive : Flag<["-"], "vectorize-slp-aggressive">, 214fdf137b9073aa52423183fe886d072bc3b7d3889Nick Lewycky HelpText<"Run the BB vectorization passes">; 215b3574796d7cc0113e54b6516fc16e17ca09459fbHans Wennborgdef dependent_lib : Joined<["--"], "dependent-lib=">, 216b3574796d7cc0113e54b6516fc16e17ca09459fbHans Wennborg HelpText<"Add dependent library">; 2171bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar 21833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 2191bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar// Dependency Output Options 22033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 22133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 222c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef sys_header_deps : Flag<["-"], "sys-header-deps">, 2231bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar HelpText<"Include system headers in dependency output">; 224c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef header_include_file : Separate<["-"], "header-include-file">, 225b34d69b9292534c1c574f168f0ac10aea652adcaDaniel Dunbar HelpText<"Filename (or -) to write header include output to">; 226708002ede3938256a6223d153a0c040f7a40f5ccHans Wennborgdef show_includes : Flag<["--"], "show-includes">, 227708002ede3938256a6223d153a0c040f7a40f5ccHans Wennborg HelpText<"Print cl.exe style /showIncludes to stderr">; 22821affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar 22933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 23021affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar// Diagnostic Options 23133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 23221affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar 233c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef diagnostic_log_file : Separate<["-"], "diagnostic-log-file">, 23408c6695f6018fb6cb1a7c7d311a851aa5c233bc0Daniel Dunbar HelpText<"Filename (or -) to log diagnostics to">; 235c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef diagnostic_serialized_file : Separate<["-"], "serialize-diagnostic-file">, 2367800212ef29be314d55814e8dcc568ff8beed106Ted Kremenek MetaVarName<"<filename>">, 2377800212ef29be314d55814e8dcc568ff8beed106Ted Kremenek HelpText<"File for serializing diagnostics in a binary format">; 238bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy 239c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdiagnostics_format : Separate<["-"], "fdiagnostics-format">, 240c9471b0ff1815ed0149dbfcad0f385ed8648eeb0Douglas Gregor HelpText<"Change diagnostic formatting to match IDE and command line tools">; 241c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdiagnostics_show_category : Separate<["-"], "fdiagnostics-show-category">, 2426fbe8398ba1680ffc5daa7395850ff8765b7905bChris Lattner HelpText<"Print diagnostic category">; 24362221b17c90457df9ca0ff20bb54d634e8951defRichard Smithdef fno_diagnostics_use_presumed_location : Flag<["-"], "fno-diagnostics-use-presumed-location">, 24462221b17c90457df9ca0ff20bb54d634e8951defRichard Smith HelpText<"Ignore #line directives when displaying diagnostic locations">; 245c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ftabstop : Separate<["-"], "ftabstop">, MetaVarName<"<N>">, 246124fca533d9fef2e3f6359283909bd342b5f5f26Chris Lattner HelpText<"Set the tab stop distance.">; 247c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ferror_limit : Separate<["-"], "ferror-limit">, MetaVarName<"<N>">, 248c100214fdc41a7ea215f75d433eb1cb829fd4330Chris Lattner HelpText<"Set the maximum number of errors to emit before stopping (0 = no limit).">; 249c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fmacro_backtrace_limit : Separate<["-"], "fmacro-backtrace-limit">, MetaVarName<"<N>">, 250b29a6108b164b183d32d8c14bf5b7492a483c7c9Chandler Carruth HelpText<"Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit).">; 251c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ftemplate_backtrace_limit : Separate<["-"], "ftemplate-backtrace-limit">, MetaVarName<"<N>">, 252575cf3791216c33770ba950430493cdd43099f8fDouglas Gregor HelpText<"Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit).">; 253c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fconstexpr_backtrace_limit : Separate<["-"], "fconstexpr-backtrace-limit">, MetaVarName<"<N>">, 25408d6e032a2a0a8656d12b3b7b93942987bb12eb7Richard Smith HelpText<"Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).">; 255c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fmessage_length : Separate<["-"], "fmessage-length">, MetaVarName<"<N>">, 25621affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar HelpText<"Format message diagnostics so that they fit within N columns or fewer, when possible.">; 257c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef Wno_rewrite_macros : Flag<["-"], "Wno-rewrite-macros">, 25821affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar HelpText<"Silence ObjC rewriting warnings">; 25933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 26033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 26133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Frontend Options 26233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 26333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 2648ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar// This isn't normally used, it is just here so we can parse a 2658ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar// CompilerInvocation out of a driver-derived argument vector. 266c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cc1 : Flag<["-"], "cc1">; 2678ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar 268c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_merge : Separate<["-"], "ast-merge">, 2699bed8798964d9f07599c2c9199701f86fbc70e20Douglas Gregor MetaVarName<"<ast file>">, 2709bed8798964d9f07599c2c9199701f86fbc70e20Douglas Gregor HelpText<"Merge the given AST file into the translation unit being compiled.">; 271c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef code_completion_at : Separate<["-"], "code-completion-at">, 272b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar MetaVarName<"<file>:<line>:<column>">, 27333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Dump code-completion information at a location">; 274c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef remap_file : Separate<["-"], "remap-file">, 275e14b5f5237d0740c2b21c50b2eb41a06e778d820Daniel Dunbar MetaVarName<"<from>;<to>">, 276e14b5f5237d0740c2b21c50b2eb41a06e778d820Daniel Dunbar HelpText<"Replace the contents of the <from> file with the contents of the <to> file">; 277c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef code_completion_at_EQ : Joined<["-"], "code-completion-at=">, 278ce6bf1ecdaca15450d8c0424724cc1558b847364Daniel Dunbar Alias<code_completion_at>; 279c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef code_completion_macros : Flag<["-"], "code-completion-macros">, 28033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Include macros in code-completion results">; 281c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef code_completion_patterns : Flag<["-"], "code-completion-patterns">, 282d8e8a58ee35ab334ab9d0c2154dca029c1822e8aDouglas Gregor HelpText<"Include code patterns in code-completion results">; 283c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef no_code_completion_globals : Flag<["-"], "no-code-completion-globals">, 2848071e4212ae08f8014e0c3ae6d18b7388003a5ccDouglas Gregor HelpText<"Do not include global declarations in code-completion results.">; 285c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef code_completion_brief_comments : Flag<["-"], "code-completion-brief-comments">, 286d99ef536b241071b6f4c01db6525dc03242ac30bDmitri Gribenko HelpText<"Include brief documentation comments in code-completion results.">; 287c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef disable_free : Flag<["-"], "disable-free">, 28833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Disable freeing of memory on exit">; 289c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef load : Separate<["-"], "load">, MetaVarName<"<dsopath>">, 290efba227cc5459554eca466aafe786b5132dcb68cDaniel Dunbar HelpText<"Load the named plugin (dynamic shared object)">; 291c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef plugin : Separate<["-"], "plugin">, MetaVarName<"<name>">, 2925aa74affa5d61d04c4b034b3722ca41aec0cba6eNico Weber HelpText<"Use the named plugin action instead of the default action (use \"help\" to list available options)">; 293c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef plugin_arg : JoinedAndSeparate<["-"], "plugin-arg-">, 2943177aae51a21f61ab483c52f97124bdb707da7f1Daniel Dunbar MetaVarName<"<name> <arg>">, 2953177aae51a21f61ab483c52f97124bdb707da7f1Daniel Dunbar HelpText<"Pass <arg> to plugin <name>">; 296c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef add_plugin : Separate<["-"], "add-plugin">, MetaVarName<"<name>">, 2975aa74affa5d61d04c4b034b3722ca41aec0cba6eNico Weber HelpText<"Use the named plugin action in addition to the default action">; 298c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef version : Flag<["-"], "version">, 2999b5e9ae08defd14441acca1d7d4502b933bf6c5aDaniel Dunbar HelpText<"Print the compiler version">; 300c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_dump_filter : Separate<["-"], "ast-dump-filter">, 301e34a052d642ba7830174b1a51787251d7f704f80Alexander Kornienko MetaVarName<"<dump_filter>">, 302e34a052d642ba7830174b1a51787251d7f704f80Alexander Kornienko HelpText<"Use with -ast-dump or -ast-print to dump/print only AST declaration" 303171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko " nodes having a certain substring in a qualified name. Use" 304171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko " -ast-list to list all filterable declaration node names.">; 305ab297ccbcc51d5197d4ddb4e99b7bc8868d38314Richard Smithdef ast_dump_lookups : Flag<["-"], "ast-dump-lookups">, 306ab297ccbcc51d5197d4ddb4e99b7bc8868d38314Richard Smith HelpText<"Include name lookup table dumps in AST dumps">; 30720c6f2eae500242d3aef5daaa55d440a0786a1fdDouglas Gregordef fno_modules_global_index : Flag<["-"], "fno-modules-global-index">, 30820c6f2eae500242d3aef5daaa55d440a0786a1fdDouglas Gregor HelpText<"Do not automatically generate or update the global module index">; 30933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 31033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbarlet Group = Action_Group in { 31133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 312c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef Eonly : Flag<["-"], "Eonly">, 31333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Just run preprocessor, no output (for timings)">; 314c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef dump_raw_tokens : Flag<["-"], "dump-raw-tokens">, 31533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Lex file in raw mode and dump raw tokens">; 316c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef analyze : Flag<["-"], "analyze">, 31733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Run static analysis engine">; 318c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef dump_tokens : Flag<["-"], "dump-tokens">, 31933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Run preprocessor, dump internal rep of tokens">; 320c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef init_only : Flag<["-"], "init-only">, 3212758595023c5c7c0495f19260089f975022c50dcDaniel Dunbar HelpText<"Only execute frontend initialization">; 322c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fixit : Flag<["-"], "fixit">, 32333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Apply fix-it advice to the input source">; 324c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fixit_EQ : Joined<["-"], "fixit=">, 325ba5f6eced29937e4e4851a2c0980744768413d66Nick Lewycky HelpText<"Apply fix-it advice creating a file with the given suffix">; 326c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef print_preamble : Flag<["-"], "print-preamble">, 327f033f1da4a34f8df6e95e9929dc04ff54bb8fb01Douglas Gregor HelpText<"Print the \"preamble\" of a file, which is a candidate for implicit" 328f033f1da4a34f8df6e95e9929dc04ff54bb8fb01Douglas Gregor " precompiled headers.">; 329c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_html : Flag<["-"], "emit-html">, 33033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Output input source as HTML">; 331c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_print : Flag<["-"], "ast-print">, 33233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Build ASTs and then pretty-print them">; 333c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_list : Flag<["-"], "ast-list">, 334171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko HelpText<"Build ASTs and print the list of declaration node qualified names">; 335c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_dump : Flag<["-"], "ast-dump">, 33633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Build ASTs and then debug dump them">; 337c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_dump_xml : Flag<["-"], "ast-dump-xml">, 338f35142413974e9dfe2c5f202084db4bd1c2073e9John McCall HelpText<"Build ASTs and then debug dump them in a verbose XML format">; 339c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ast_view : Flag<["-"], "ast-view">, 34033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Build ASTs and view them with GraphViz">; 341c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef print_decl_contexts : Flag<["-"], "print-decl-contexts">, 34233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Print DeclContexts and their Decls">; 343c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_module : Flag<["-"], "emit-module">, 3446649014b792f8a4b1bc1e8be8f844a72220af508Douglas Gregor HelpText<"Generate pre-compiled module file from a module map">; 345c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_pth : Flag<["-"], "emit-pth">, 34633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Generate pre-tokenized header file">; 347c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_pch : Flag<["-"], "emit-pch">, 34833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Generate pre-compiled header file">; 349c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_llvm_bc : Flag<["-"], "emit-llvm-bc">, 35033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Build ASTs then convert to LLVM, emit .bc file">; 351c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_llvm_only : Flag<["-"], "emit-llvm-only">, 35233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Build ASTs and convert to LLVM, discarding output">; 353c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_codegen_only : Flag<["-"], "emit-codegen-only">, 35432148cef25570a4fbe3ad0ec497ce3ae2cf1b774Daniel Dunbar HelpText<"Generate machine code, but discard output">; 355c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef emit_obj : Flag<["-"], "emit-obj">, 356da1573f95902a42aa4d11e8f45ab98ec7e27bc28Daniel Dunbar HelpText<"Emit native object files">; 357c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef rewrite_test : Flag<["-"], "rewrite-test">, 35833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Rewriter playground">; 359c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef rewrite_macros : Flag<["-"], "rewrite-macros">, 36033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Expand macros without full preprocessing">; 361c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef migrate : Flag<["-"], "migrate">, 36230660a898545416f0fea2d717f16f75640001e38Ted Kremenek HelpText<"Migrate source code">; 36333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar} 36433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 365c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef mt_migrate_directory : Separate<["-"], "mt-migrate-directory">, 36630660a898545416f0fea2d717f16f75640001e38Ted Kremenek HelpText<"Directory for temporary files produced during ARC or ObjC migration">; 367c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef arcmt_check : Flag<["-"], "arcmt-check">, 368f85e193739c953358c865005855253af4f68a497John McCall HelpText<"Check for ARC migration issues that need manual handling">; 369c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef arcmt_modify : Flag<["-"], "arcmt-modify">, 370f85e193739c953358c865005855253af4f68a497John McCall HelpText<"Apply modifications to files to conform to ARC">; 371c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef arcmt_migrate : Flag<["-"], "arcmt-migrate">, 37269325d5b7cfecf1b3128745efc33612aedf1b8b4Argyrios Kyrtzidis HelpText<"Apply modifications and produces temporary files that conform to ARC">; 373389db16c63eec6ecfa9b235155252d8da766e94eArgyrios Kyrtzidis 374c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef relocatable_pch : Flag<["-", "--"], "relocatable-pch">, 37533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Whether to build a relocatable precompiled header">; 376c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef print_stats : Flag<["-"], "print-stats">, 37733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Print performance metrics and statistics">; 378c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdump_record_layouts : Flag<["-"], "fdump-record-layouts">, 379b69eca5d2196c06870d3eeb62d689feebaaa8a4dDaniel Dunbar HelpText<"Dump record layout information">; 380c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdump_record_layouts_simple : Flag<["-"], "fdump-record-layouts-simple">, 381453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor HelpText<"Dump record layout information in a simple form used for testing">; 382c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fix_what_you_can : Flag<["-"], "fix-what-you-can">, 3831450f265fcc84a7ca64dd9f3b8d4492c5bd55e23Nick Lewycky HelpText<"Apply fix-it advice even in the presence of unfixable errors">; 384c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fix_only_warnings : Flag<["-"], "fix-only-warnings">, 38561d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis HelpText<"Apply fix-it advice only for warnings, not errors">; 386c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fixit_recompile : Flag<["-"], "fixit-recompile">, 38761d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis HelpText<"Apply fix-it changes and recompile">; 388c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fixit_to_temp : Flag<["-"], "fixit-to-temporary">, 38961d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis HelpText<"Apply fix-it changes to temporary files">; 390b69eca5d2196c06870d3eeb62d689feebaaa8a4dDaniel Dunbar 391c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef foverride_record_layout_EQ : Joined<["-"], "foverride-record-layout=">, 392453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor HelpText<"Override record layouts with those in the given file">; 393453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor 39433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 39533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Language Options 39633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 39733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 398c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fblocks_runtime_optional : Flag<["-"], "fblocks-runtime-optional">, 39913db5cfc4e5f03eb70efe0d227b53b8280f16161John McCall HelpText<"Weakly link in the blocks runtime">; 400c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fsjlj_exceptions : Flag<["-"], "fsjlj-exceptions">, 40173482884560be041d86eccbd7dd5a6918677393bDaniel Dunbar HelpText<"Use SjLj style exceptions">; 402c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fhidden_weak_vtables : Flag<["-"], "fhidden-weak-vtables">, 403279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall HelpText<"Generate weak vtables and RTTI with hidden visibility">; 404c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef main_file_name : Separate<["-"], "main-file-name">, 40533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Main file name to use for debug info">; 40680190399f5a062db72127869978699af65951b73Eric Christopherdef split_dwarf_file : Separate<["-"], "split-dwarf-file">, 40780190399f5a062db72127869978699af65951b73Eric Christopher HelpText<"File name to use for split dwarf debug info output">; 408c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_signed_char : Flag<["-"], "fno-signed-char">, 409efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar HelpText<"Char is unsigned">; 410c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_wchar : Flag<["-"], "fno-wchar">, 4115b86ffd219bdee7720217d5755b772726668b242Abramo Bagnara HelpText<"Disable C++ builtin type wchar_t">; 412c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fconstant_string_class : Separate<["-"], "fconstant-string-class">, 413b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar MetaVarName<"<class name>">, 41433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Specify the class to use for constant Objective-C string objects.">; 415c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fobjc_arc_cxxlib_EQ : Joined<["-"], "fobjc-arc-cxxlib=">, 416f85e193739c953358c865005855253af4f68a497John McCall HelpText<"Objective-C++ Automatic Reference Counting standard library kind">; 417c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fobjc_runtime_has_weak : Flag<["-"], "fobjc-runtime-has-weak">, 4189f084a3166b684573ba49df28fc5792bc37d92e1John McCall HelpText<"The target Objective-C runtime supports ARC weak operations">; 419c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fobjc_dispatch_method_EQ : Joined<["-"], "fobjc-dispatch-method=">, 420f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar HelpText<"Objective-C dispatch method to use">; 421c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fobjc_default_synthesize_properties : Flag<["-"], "fobjc-default-synthesize-properties">, 422c32647d111e516593b9ba242cad7b8ff4016c155Ted Kremenek HelpText<"enable the default synthesis of Objective-C properties">; 4233d145f660a23d5bdabdd1ead83c51f3df1489b09Fariborz Jahaniandef fencode_extended_block_signature : Flag<["-"], "fencode-extended-block-signature">, 4243d145f660a23d5bdabdd1ead83c51f3df1489b09Fariborz Jahanian HelpText<"enable extended encoding of block type signature">; 425c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef pic_level : Separate<["-"], "pic-level">, 426b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar HelpText<"Value for __PIC__">; 427c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef pie_level : Separate<["-"], "pie-level">, 4285e219cf7f896873c1c1e64b9e87a7dade99debbaChandler Carruth HelpText<"Value for __PIE__">; 429c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_validate_pch : Flag<["-"], "fno-validate-pch">, 430fae3b2f4743dad616623c4df2fdb0f5128bd36d9Douglas Gregor HelpText<"Disable validation of precompiled headers">; 431c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">, 432b972858068d2ea77f72a1e7b1812b196afd6be2eArgyrios Kyrtzidis HelpText<"Dump declarations that are deserialized from PCH, for testing">; 433c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef error_on_deserialized_pch_decl : Separate<["-"], "error-on-deserialized-decl">, 4343e78593b1ced32b7e0a97da044213014ee0f6f7cArgyrios Kyrtzidis HelpText<"Emit error if a specific declaration is deserialized from PCH, for testing">; 435c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef error_on_deserialized_pch_decl_EQ : Joined<["-"], "error-on-deserialized-decl=">, 4369a8cbc75052d641105e45d0eca2592743fa01e54Argyrios Kyrtzidis Alias<error_on_deserialized_pch_decl>; 437c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef static_define : Flag<["-"], "static-define">, 43833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Should __STATIC__ be defined">; 439c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef stack_protector : Separate<["-"], "stack-protector">, 44033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Enable stack protectors">; 441c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef stack_protector_buffer_size : Separate<["-"], "stack-protector-buffer-size">, 442a7afeb040416c0eaac19b92db914913a788044f5Chad Rosier HelpText<"Lower bound for a buffer to be considered for stack protection">; 443c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fvisibility : Separate<["-"], "fvisibility">, 444a880b19aa6ef1dc95936f5de052be7a7d6ee6814John McCall HelpText<"Default type and symbol visibility">; 445a880b19aa6ef1dc95936f5de052be7a7d6ee6814John McCalldef ftype_visibility : Separate<["-"], "ftype-visibility">, 446a880b19aa6ef1dc95936f5de052be7a7d6ee6814John McCall HelpText<"Default type visibility">; 447c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ftemplate_depth : Separate<["-"], "ftemplate-depth">, 44833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Maximum depth of recursive template instantiation">; 449c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fconstexpr_depth : Separate<["-"], "fconstexpr-depth">, 450c18c42345636e2866fed75c7e434fb659d747672Richard Smith HelpText<"Maximum depth of recursive constexpr function calls">; 451e7565635002ce0daaaf4b714cdb472507af462eeRichard Smithdef fconstexpr_steps : Separate<["-"], "fconstexpr-steps">, 452e7565635002ce0daaaf4b714cdb472507af462eeRichard Smith HelpText<"Maximum number of steps in constexpr function evaluation">; 4539e738cc9d4b4655c44dadeb22f3a314daf43b995Richard Smithdef fbracket_depth : Separate<["-"], "fbracket-depth">, 4549e738cc9d4b4655c44dadeb22f3a314daf43b995Richard Smith HelpText<"Maximum nesting level for parentheses, brackets, and braces">; 455c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fconst_strings : Flag<["-"], "fconst-strings">, 45650465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruth HelpText<"Use a const qualified type for string literals in C and ObjC">; 457c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_const_strings : Flag<["-"], "fno-const-strings">, 45850465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruth HelpText<"Don't use a const qualified type for string literals in C and ObjC">; 459c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_bitfield_type_align : Flag<["-"], "fno-bitfield-type-align">, 460fb937b8c5f1c5dc9cfd4223b5cae230cc42b0287Daniel Dunbar HelpText<"Ignore bit-field types when aligning structures">; 461c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ffake_address_space_map : Flag<["-"], "ffake-address-space-map">, 462207f4d8543529221932af82836016a2ef066c917Peter Collingbourne HelpText<"Use a fake address space map; OpenCL testing purposes only">; 4631eef85246b411b55c493098266746d0d83c241eaDavid Tweeddef faddress_space_map_mangling_EQ : Joined<["-"], "faddress-space-map-mangling=">, MetaVarName<"<yes|no|target>">, 4641eef85246b411b55c493098266746d0d83c241eaDavid Tweed HelpText<"Set the mode for address space map based mangling; OpenCL testing purposes only">; 465c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef funknown_anytype : Flag<["-"], "funknown-anytype">, 466a5fc472b353b88be3b4981da946fb01f5a5cc0c6John McCall HelpText<"Enable parser support for the __unknown_anytype type; for testing purposes only">; 467c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdebugger_support : Flag<["-"], "fdebugger-support">, 46848218c60d6b53b7880917d1366ee716dec2145caJohn McCall HelpText<"Enable special debugger support behavior">; 469c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdebugger_cast_result_to_id : Flag<["-"], "fdebugger-cast-result-to-id">, 47050a9a12d4f7387bcff3213d4b56e74bab9f4f5d2Sean Callanan HelpText<"Enable casting unknown expression results to id">; 471c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdebugger_objc_literal : Flag<["-"], "fdebugger-objc-literal">, 472b13291aa59c4c074e70f2d0181f9721e38b494d4Jordan Rose HelpText<"Enable special debugger support for Objective-C subscripting and literals">; 473c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdeprecated_macro : Flag<["-"], "fdeprecated-macro">, 474f8c247d247f9f7ab2bf4965677e6d056711c99d5Chandler Carruth HelpText<"Defines the __DEPRECATED macro">; 475c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fno_deprecated_macro : Flag<["-"], "fno-deprecated-macro">, 476f8c247d247f9f7ab2bf4965677e6d056711c99d5Chandler Carruth HelpText<"Undefines the __DEPRECATED macro">; 47733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 47833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 47933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Header Search Options 48033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 48133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 482c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef nostdsysteminc : Flag<["-"], "nostdsysteminc">, 483a268fc0f2229eb132ebc8501b140093aeb5516bfDaniel Dunbar HelpText<"Disable standard system #include directories">; 484c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fmodule_name : Joined<["-"], "fmodule-name=">, 485b86b8dc7ef89405205f94635c1073cdb1a7093ebDouglas Gregor MetaVarName<"<name>">, 486b86b8dc7ef89405205f94635c1073cdb1a7093ebDouglas Gregor HelpText<"Specify the name of the module to build">; 487c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fdisable_module_hash : Flag<["-"], "fdisable-module-hash">, 4886e975c4517958bcc11c834336d340797356058dbDouglas Gregor HelpText<"Disable the module hash">; 489c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef c_isystem : JoinedOrSeparate<["-"], "c-isystem">, MetaVarName<"<directory>">, 49047adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer HelpText<"Add directory to the C SYSTEM include search path">; 491c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef objc_isystem : JoinedOrSeparate<["-"], "objc-isystem">, 49247adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer MetaVarName<"<directory>">, 49347adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer HelpText<"Add directory to the ObjC SYSTEM include search path">; 494c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef objcxx_isystem : JoinedOrSeparate<["-"], "objcxx-isystem">, 49547adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer MetaVarName<"<directory>">, 49647adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer HelpText<"Add directory to the ObjC++ SYSTEM include search path">; 497c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef internal_isystem : JoinedOrSeparate<["-"], "internal-isystem">, 498ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth MetaVarName<"<directory>">, 499ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth HelpText<"Add directory to the internal system include search path; these " 500ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth "are assumed to not be user-provided and are used to model system " 501ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth "and standard headers' paths.">; 502c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef internal_externc_isystem : JoinedOrSeparate<["-"], "internal-externc-isystem">, 503ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth MetaVarName<"<directory>">, 504ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth HelpText<"Add directory to the internal system include search path with " 505ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth "implicit extern \"C\" semantics; these are assumed to not be " 506ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth "user-provided and are used to model system and standard headers' " 507ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth "paths.">; 508c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef isystem_prefix : JoinedOrSeparate<["-"], "isystem-prefix">, 509f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith MetaVarName<"<prefix>">, 510f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith HelpText<"Treat all #include paths starting with <prefix> as including a " 511f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith "system header.">; 512c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef ino_system_prefix : JoinedOrSeparate<["-"], "ino-system-prefix">, 513f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith MetaVarName<"<prefix>">, 514f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith HelpText<"Treat all #include paths starting with <prefix> as not including a " 515f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith "system header.">; 51633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 51733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 51833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Preprocessor Options 51933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===// 52033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar 521c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef include_pth : Separate<["-"], "include-pth">, MetaVarName<"<file>">, 52233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Include file before parsing">; 523c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef chain_include : Separate<["-"], "chain-include">, MetaVarName<"<file>">, 524b0f4b9a558933b307073f7cd7753602f94354ae9Argyrios Kyrtzidis HelpText<"Include and chain a header file after turning it into PCH">; 525c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef preamble_bytes_EQ : Joined<["-"], "preamble-bytes=">, 5263d398aa5c2be8919bbc0144bce611c48119bc861Douglas Gregor HelpText<"Assume that the precompiled header is a precompiled preamble " 5273d398aa5c2be8919bbc0144bce611c48119bc861Douglas Gregor "covering the first N bytes of the main file">; 528c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef token_cache : Separate<["-"], "token-cache">, MetaVarName<"<path>">, 52933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar HelpText<"Use specified token cache file">; 530c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef detailed_preprocessing_record : Flag<["-"], "detailed-preprocessing-record">, 53194dc8f640ebea52241412512ed48601626edbc58Douglas Gregor HelpText<"include a detailed record of preprocessing actions">; 53261e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne 53361e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne//===----------------------------------------------------------------------===// 53461e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne// OpenCL Options 53561e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne//===----------------------------------------------------------------------===// 53661e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne 537c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_opt_disable : Flag<["-"], "cl-opt-disable">, 53861e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne HelpText<"OpenCL only. This option disables all optimizations. The default is optimizations are enabled.">; 539c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_single_precision_constant : Flag<["-"], "cl-single-precision-constant">, 5400982136cb748f4a842141bf199d133126d6be882Peter Collingbourne HelpText<"OpenCL only. Treat double precision floating-point constant as single precision constant.">; 541c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_finite_math_only : Flag<["-"], "cl-finite-math-only">, 5425d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne HelpText<"OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.">; 543c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_unsafe_math_optimizations : Flag<["-"], "cl-unsafe-math-optimizations">, 5445f67e13fcdc3c33e9cd5d027bfbb677b726c6f6aPeter Collingbourne HelpText<"OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable">; 545c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_fast_relaxed_math : Flag<["-"], "cl-fast-relaxed-math">, 546f0840820b4e28fd0cc04d737382811d7372cb832Peter Collingbourne HelpText<"OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__">; 547c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_mad_enable : Flag<["-"], "cl-mad-enable">, 5484400cb8c548a90c472444b57690117563f4be195Peter Collingbourne HelpText<"OpenCL only. Enable less precise MAD instructions to be generated.">; 549c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef cl_std_EQ : Joined<["-"], "cl-std=">, 55091252d115bdb6f937192a8dbc86c5abe00101436Peter Collingbourne HelpText<"OpenCL language standard to compile for">; 551d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne 552d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne//===----------------------------------------------------------------------===// 553d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne// CUDA Options 554d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne//===----------------------------------------------------------------------===// 555d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne 556c635710bcbb9598acd5a14647ba7ca28bee89a68Michael J. Spencerdef fcuda_is_device : Flag<["-"], "fcuda-is-device">, 557d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne HelpText<"Generate code for CUDA device">; 558bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy 559bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy} // let Flags = [CC1Option] 560