CC1Options.td revision 171af64ef10ae816ed2a4f15f5d17aca1d71769f
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
14bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloylet Flags = [CC1Option] in {
158adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar
1633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
178adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// Target Options
1833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
198adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar
2098b7c5c496dfccb39287b8f7d8f1444594936d10Charles Davisdef cxx_abi : Separate<"-cxx-abi">,
2198b7c5c496dfccb39287b8f7d8f1444594936d10Charles Davis  HelpText<"Target a particular C++ ABI type">;
228adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbardef target_abi : Separate<"-target-abi">,
238adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar  HelpText<"Target a particular ABI type">;
2438b48afd338d494099697d2611e1f45e558e469eDaniel Dunbardef target_cpu : Separate<"-target-cpu">,
2538b48afd338d494099697d2611e1f45e558e469eDaniel Dunbar  HelpText<"Target a specific cpu type">;
2631db76cb2dde031ab3262808ac233889daf7d720Daniel Dunbardef target_feature : Separate<"-target-feature">,
278adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar  HelpText<"Target specific attributes">;
2839065a5494613952b4810d1d6b28348cef155e12Daniel Dunbardef target_linker_version : Separate<"-target-linker-version">,
2939065a5494613952b4810d1d6b28348cef155e12Daniel Dunbar  HelpText<"Target linker version">;
3031db76cb2dde031ab3262808ac233889daf7d720Daniel Dunbardef triple : Separate<"-triple">,
318adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar  HelpText<"Specify target triple (e.g. i686-apple-darwin9)">;
32ce6bf1ecdaca15450d8c0424724cc1558b847364Daniel Dunbardef triple_EQ : Joined<"-triple=">, Alias<triple>;
3350a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar
3433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
35e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar// Analyzer Options
3633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
37e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
389b823e8e1ccb8a2cb49923bad22a80ca96f41f92Ted Kremenekdef analysis_UnoptimizedCFG : Flag<"-unoptimized-cfg">,
39c9c6b904f3fb4f515f7f041b7c49f5e3b7c53bd3Ted Kremenek  HelpText<"Generate unoptimized CFGs for all analyses">;
409121ba232903ebe61e7bbe14ca294cf0f07dfa96Marcin Swiderskidef analysis_CFGAddImplicitDtors : Flag<"-cfg-add-implicit-dtors">,
419121ba232903ebe61e7bbe14ca294cf0f07dfa96Marcin Swiderski  HelpText<"Add C++ implicit destructors to CFGs for all analyses">;
429121ba232903ebe61e7bbe14ca294cf0f07dfa96Marcin Swiderskidef analysis_CFGAddInitializers : Flag<"-cfg-add-initializers">,
439121ba232903ebe61e7bbe14ca294cf0f07dfa96Marcin Swiderski  HelpText<"Add C++ initializers to CFGs for all analyses">;
44e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
45e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_store : Separate<"-analyzer-store">,
46e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Source Code Analysis - Abstract Memory Store Models">;
47e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_store_EQ : Joined<"-analyzer-store=">, Alias<analyzer_store>;
48e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
49e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_constraints : Separate<"-analyzer-constraints">,
50e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Source Code Analysis - Symbolic Constraint Engines">;
51e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_constraints_EQ : Joined<"-analyzer-constraints=">,
52e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  Alias<analyzer_constraints>;
53e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
54e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_output : Separate<"-analyzer-output">,
55e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Source Code Analysis - Output Options">;
56e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_output_EQ : Joined<"-analyzer-output=">,
57e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  Alias<analyzer_output>;
58e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
59d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaksdef analyzer_purge : Separate<"-analyzer-purge">,
60d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaks  HelpText<"Source Code Analysis - Dead Symbol Removal Frequency">;
61d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaksdef analyzer_purge_EQ : Joined<"-analyzer-purge=">, Alias<analyzer_purge>;
62d30952838421ddfb9f7e346b2ba8213889a5f789Anna Zaks
63e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_opt_analyze_headers : Flag<"-analyzer-opt-analyze-headers">,
64e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Force the static analyzer to analyze functions defined in header files">;
65fc576514d06c46a7cac49500169411d82f38d04bTed Kremenekdef analyzer_opt_analyze_nested_blocks : Flag<"-analyzer-opt-analyze-nested-blocks">,
6620249a1af2e462dcafdd6a350f1c7967b264ff25Michael J. Spencer  HelpText<"Analyze the definitions of blocks in addition to functions">;
67e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_display_progress : Flag<"-analyzer-display-progress">,
68e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Emit verbose output about the analyzer's progress">;
69e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyze_function : Separate<"-analyze-function">,
70e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Run analysis on specific function">;
71e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyze_function_EQ : Joined<"-analyze-function=">, Alias<analyze_function>;
72e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_eagerly_assume : Flag<"-analyzer-eagerly-assume">,
73e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Eagerly assume the truth/falseness of some symbolic constraints">;
74d767d81290288c030f3be0be1d3e62b9c8df51dcTed Kremenekdef analyzer_no_eagerly_trim_egraph : Flag<"-analyzer-no-eagerly-trim-egraph">,
75d767d81290288c030f3be0be1d3e62b9c8df51dcTed Kremenek  HelpText<"Don't eagerly remove uninteresting ExplodedNodes from the ExplodedGraph">;
76e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef trim_egraph : Flag<"-trim-egraph">,
77e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Only show error-related paths in the analysis graph">;
78e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_viz_egraph_graphviz : Flag<"-analyzer-viz-egraph-graphviz">,
79e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Display exploded graph using GraphViz">;
80e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_viz_egraph_ubigraph : Flag<"-analyzer-viz-egraph-ubigraph">,
81e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar  HelpText<"Display exploded graph using Ubigraph">;
8266253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks
838235f9c9c8b3d1737d1c6bd57f7ba3f616b92392Anna Zaksdef analyzer_inline_max_stack_depth : Separate<"-analyzer-inline-max-stack-depth">,
848235f9c9c8b3d1737d1c6bd57f7ba3f616b92392Anna Zaks  HelpText<"Bound on stack depth while inlining (4 by default)">;
8566253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_inline_max_stack_depth_EQ : Joined<"-analyzer-inline-max-stack-depth=">, 
8666253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  Alias<analyzer_inline_max_stack_depth>;
8766253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  
888235f9c9c8b3d1737d1c6bd57f7ba3f616b92392Anna Zaksdef analyzer_inline_max_function_size : Separate<"-analyzer-inline-max-function-size">,
898fbb4e665dda8227f369877c11828e4402c48ebaAnna Zaks  HelpText<"Bound on the number of basic blocks in an inlined function (200 by default)">;
9066253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_inline_max_function_size_EQ : Joined<"-analyzer-inline-max-function-size=">, 
9166253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  Alias<analyzer_inline_max_function_size>;
9266253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks
9366253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_ipa : Separate<"-analyzer-ipa">,
9466253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  HelpText<"Specify the inter-procedural analysis mode">;
9566253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_ipa_EQ : Joined<"-analyzer-ipa=">, Alias<analyzer_ipa>;
9666253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  
9766253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_inlining_mode : Separate<"-analyzer-inlining-mode">,
9866253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  HelpText<"Specify the function selection heuristic used during inlining">;
9966253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaksdef analyzer_inlining_mode_EQ : Joined<"-analyzer-inlining-mode=">, Alias<analyzer_inlining_mode>;
1005903a373db3d27794c90b25687e0dd6adb0e497dAnna Zaks
101b47dbcbc12430fdf3e5a5b9f59cdec5480e89e75Anna Zaksdef analyzer_disable_retry_exhausted : Flag<"-analyzer-disable-retry-exhausted">,
102b47dbcbc12430fdf3e5a5b9f59cdec5480e89e75Anna Zaks  HelpText<"Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)">;
10366253352131e3e7a22b3bfd0e180607aa2bfb988Anna Zaks  
104c09289d104b8e01ecd998e3f08b2b0561049e1dcZhongxing Xudef analyzer_max_nodes : Separate<"-analyzer-max-nodes">,
105cf9ce13774dad86f780d84cd41e6bd64c039324aTom Care  HelpText<"The maximum number of nodes the analyzer can generate (150000 default, 0 = no limit)">;
1066362b893731ccf4480a96527db9e55e04b801503Zhongxing Xudef analyzer_max_loop : Separate<"-analyzer-max-loop">,
1076362b893731ccf4480a96527db9e55e04b801503Zhongxing Xu  HelpText<"The maximum number of times the analyzer will go through a loop">;
10881fb169f42769e02c7425b23885a261c025fd5e6Anna Zaksdef analyzer_stats : Flag<"-analyzer-stats">,
10981fb169f42769e02c7425b23885a261c025fd5e6Anna Zaks  HelpText<"Print internal analyzer statistics.">;
110e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar
11143dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidisdef analyzer_checker : Separate<"-analyzer-checker">,
11243dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis  HelpText<"Choose analyzer checkers to enable">;
11343dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidisdef analyzer_checker_EQ : Joined<"-analyzer-checker=">,
11443dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis  Alias<analyzer_checker>;
11543dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis
11643dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidisdef analyzer_disable_checker : Separate<"-analyzer-disable-checker">,
11743dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis  HelpText<"Choose analyzer checkers to disable">;
11843dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidisdef analyzer_disable_checker_EQ : Joined<"-analyzer-disable-checker=">,
11943dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis  Alias<analyzer_disable_checker>;
12043dee220252ef0b42c5f8a3bb1eca97f84f2565fArgyrios Kyrtzidis
121116f3640daee424dfcdbe55e80be5a67476be4b0Argyrios Kyrtzidisdef analyzer_checker_help : Flag<"-analyzer-checker-help">,
122116f3640daee424dfcdbe55e80be5a67476be4b0Argyrios Kyrtzidis  HelpText<"Display the list of analyzer checkers that are available">;
123116f3640daee424dfcdbe55e80be5a67476be4b0Argyrios Kyrtzidis
12433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
125b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian// Migrator Options
126b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian//===----------------------------------------------------------------------===//
127b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahaniandef migrator_no_nsalloc_error : Flag<"-no-ns-alloc-error">,
128b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian  HelpText<"Do not error on use of NSAllocateCollectable/NSReallocateCollectable">;
129b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian
13026f0e4e7ab534fb42485c930f20a424ecc8c9830Fariborz Jahaniandef migrator_no_finalize_removal : Flag<"-no-finalize-removal">,
13126f0e4e7ab534fb42485c930f20a424ecc8c9830Fariborz Jahanian  HelpText<"Do not remove finalize method in gc mode">;
13226f0e4e7ab534fb42485c930f20a424ecc8c9830Fariborz Jahanian
133b5c6babd3d8e0233b8ea5a4eb1e2700e30c0d396Fariborz Jahanian//===----------------------------------------------------------------------===//
13450a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar// CodeGen Options
13533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
13650a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar
13750a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef disable_llvm_optzns : Flag<"-disable-llvm-optzns">,
13850a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar  HelpText<"Don't run LLVM optimization passes">;
139824e19ed926d7aa1296a007d0607ac4437e3c4a9John McCalldef disable_llvm_verifier : Flag<"-disable-llvm-verifier">,
140824e19ed926d7aa1296a007d0607ac4437e3c4a9John McCall  HelpText<"Don't run the LLVM IR verifier pass">;
14150a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef disable_red_zone : Flag<"-disable-red-zone">,
14250a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar  HelpText<"Do not emit code that uses the red zone.">;
1437c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewyckydef fdebug_compilation_dir : Separate<"-fdebug-compilation-dir">,
1447c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewycky  HelpText<"The compilation directory to embed in the debug info.">;
145f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbardef dwarf_debug_flags : Separate<"-dwarf-debug-flags">,
146f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar  HelpText<"The string to embed in the Dwarf debug flags record.">;
14732096695c76033a6b0b1747c439f7378a11e8312John McCalldef fforbid_guard_variables : Flag<"-fforbid-guard-variables">,
14832096695c76033a6b0b1747c439f7378a11e8312John McCall  HelpText<"Emit an error if a C++ static local initializer would need a guard variable">;
149005af27c607536038864ff36d480b5ecd066a267Chad Rosierdef no_implicit_float : Flag<"-no-implicit-float">,
150005af27c607536038864ff36d480b5ecd066a267Chad Rosier  HelpText<"Don't generate implicit floating point instructions">;
151824d7ea07a4e9208925daa6ae9289fb2b39bce9fAnders Carlssondef fdump_vtable_layouts : Flag<"-fdump-vtable-layouts">,
152824d7ea07a4e9208925daa6ae9289fb2b39bce9fAnders Carlsson  HelpText<"Dump the layouts of all vtables that will be emitted in a translation unit">;
153e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewyckydef femit_coverage_notes : Flag<"-femit-coverage-notes">,
154e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky  HelpText<"Emit a gcov coverage notes file when compiling.">;
155e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewyckydef femit_coverage_data: Flag<"-femit-coverage-data">,
156e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky  HelpText<"Instrument the program to emit gcov coverage data when run.">;
1573dc05418538c719fea48b906bfa4febe5296e126Nick Lewyckydef coverage_file : Separate<"-coverage-file">,
1583dc05418538c719fea48b906bfa4febe5296e126Nick Lewycky  HelpText<"Emit coverage data to this filename. The extension will be replaced.">;
1593dc05418538c719fea48b906bfa4febe5296e126Nick Lewyckydef coverage_file_EQ : Joined<"-coverage-file=">, Alias<coverage_file>;
160e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbardef fuse_register_sized_bitfield_access: Flag<"-fuse-register-sized-bitfield-access">,
161e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar  HelpText<"Use register sized accesses to bit-fields, when possible.">;
1624d5625e15bb215c2241c022df8dc7b04438970c6Dan Gohmandef relaxed_aliasing : Flag<"-relaxed-aliasing">,
163be570121a6da523020c3b11eb15aba97becb5d2fDevang Patel  HelpText<"Turn off Type Based Alias Analysis">;
164f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef masm_verbose : Flag<"-masm-verbose">,
165f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Generate verbose assembly output">;
166f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mcode_model : Separate<"-mcode-model">,
167f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"The code model to use">;
168f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mdebug_pass : Separate<"-mdebug-pass">,
169f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Enable additional debug output">;
170f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mdisable_fp_elim : Flag<"-mdisable-fp-elim">,
171f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Disable frame pointer elimination optimization">;
1721db772bd68502e0dabbd8efeb7f7c64a4ab2e37aNick Lewyckydef mdisable_tail_calls : Flag<"-mdisable-tail-calls">,
1731db772bd68502e0dabbd8efeb7f7c64a4ab2e37aNick Lewycky  HelpText<"Disable tail call optimization, keeping the call stack accurate">;
174001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbardef menable_no_infinities : Flag<"-menable-no-infs">,
175001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbar  HelpText<"Allow optimization to assume there are no infinities.">;
176001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbardef menable_no_nans : Flag<"-menable-no-nans">,
177001f628a693960380e37c2b58a1009da77d7e425Daniel Dunbar  HelpText<"Allow optimization to assume there are no NaNs.">;
178abf07a7fb669dcb74040eef948d61dfe3c59ff17Chandler Carruthdef menable_unsafe_fp_math : Flag<"-menable-unsafe-fp-math">,
179abf07a7fb669dcb74040eef948d61dfe3c59ff17Chandler Carruth  HelpText<"Allow unsafe floating-point math optimizations which may decrease "
180abf07a7fb669dcb74040eef948d61dfe3c59ff17Chandler Carruth           "precision">;
18187667aafe68c366be57f5afb60428237593da0edDaniel Dunbardef mfloat_abi : Separate<"-mfloat-abi">,
1823b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar  HelpText<"The float ABI to use">;
183f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mlimit_float_precision : Separate<"-mlimit-float-precision">,
184f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Limit float precision to the given value">;
185c3b9014c7236a15cf467662264b243a22c420312Nick Lewyckydef mno_exec_stack : Flag<"-mnoexecstack">,
186c3b9014c7236a15cf467662264b243a22c420312Nick Lewycky  HelpText<"Mark the file as not needing an executable stack">;
187f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mno_zero_initialized_in_bss : Flag<"-mno-zero-initialized-in-bss">,
188f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Do not put zero initialized data in the BSS">;
1893c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbardef backend_option : Separate<"-backend-option">,
1903c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar  HelpText<"Additional arguments to forward to LLVM backend (during code gen)">;
19117d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbardef mregparm : Separate<"-mregparm">,
19217d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar  HelpText<"Limit the number of registers available for integer arguments">;
193969323239f16589329d091a2b8ef200fcfe7c9e9Daniel Dunbardef msave_temp_labels : Flag<"-msave-temp-labels">,
194969323239f16589329d091a2b8ef200fcfe7c9e9Daniel Dunbar  HelpText<"(integrated-as) Save temporary labels">;
195f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef mrelocation_model : Separate<"-mrelocation-model">,
196f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"The relocation model to use">;
197f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbardef munwind_tables : Flag<"-munwind-tables">,
198f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar  HelpText<"Generate unwinding tables for all functions">;
1998af669f2f1d92436fe6dc43144bb084a620e7516Rafael Espindoladef fuse_init_array : Flag<"-fuse-init-array">,
2008af669f2f1d92436fe6dc43144bb084a620e7516Rafael Espindola  HelpText<"Use .init_array instead of .ctors">;
201d46f98573ba104eda102dd3224b2dca69f1c6336John McCalldef mconstructor_aliases : Flag<"-mconstructor-aliases">,
202d46f98573ba104eda102dd3224b2dca69f1c6336John McCall  HelpText<"Emit complete constructors and destructors as aliases when possible">;
20322a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbournedef mlink_bitcode_file : Separate<"-mlink-bitcode-file">,
20422a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbourne  HelpText<"Link the given bitcode file before performing optimizations.">;
2051bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar
20633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
2071bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar// Dependency Output Options
20833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
20933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
2101bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbardef sys_header_deps : Flag<"-sys-header-deps">,
2111bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar  HelpText<"Include system headers in dependency output">;
212b34d69b9292534c1c574f168f0ac10aea652adcaDaniel Dunbardef header_include_file : Separate<"-header-include-file">,
213b34d69b9292534c1c574f168f0ac10aea652adcaDaniel Dunbar  HelpText<"Filename (or -) to write header include output to">;
21421affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar
21533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
21621affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar// Diagnostic Options
21733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
21821affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar
21921affc089773edc30be43ecb0022a48acdac7093Daniel Dunbardef dump_build_information : Separate<"-dump-build-information">,
220b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar  MetaVarName<"<filename>">,
22121affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar  HelpText<"output a dump of some build information to a file">;
22208c6695f6018fb6cb1a7c7d311a851aa5c233bc0Daniel Dunbardef diagnostic_log_file : Separate<"-diagnostic-log-file">,
22308c6695f6018fb6cb1a7c7d311a851aa5c233bc0Daniel Dunbar  HelpText<"Filename (or -) to log diagnostics to">;
22436f6e30d5c21a693abf2612ef086e83e9696f0e0Ted Kremenekdef diagnostic_serialized_file : Separate<"-serialize-diagnostic-file">,
2257800212ef29be314d55814e8dcc568ff8beed106Ted Kremenek  MetaVarName<"<filename>">,
2267800212ef29be314d55814e8dcc568ff8beed106Ted Kremenek  HelpText<"File for serializing diagnostics in a binary format">;
227bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy
228c9471b0ff1815ed0149dbfcad0f385ed8648eeb0Douglas Gregordef fdiagnostics_format : Separate<"-fdiagnostics-format">,
229c9471b0ff1815ed0149dbfcad0f385ed8648eeb0Douglas Gregor  HelpText<"Change diagnostic formatting to match IDE and command line tools">;
2306fbe8398ba1680ffc5daa7395850ff8765b7905bChris Lattnerdef fdiagnostics_show_category : Separate<"-fdiagnostics-show-category">,
2316fbe8398ba1680ffc5daa7395850ff8765b7905bChris Lattner  HelpText<"Print diagnostic category">;
232124fca533d9fef2e3f6359283909bd342b5f5f26Chris Lattnerdef ftabstop : Separate<"-ftabstop">, MetaVarName<"<N>">,
233124fca533d9fef2e3f6359283909bd342b5f5f26Chris Lattner  HelpText<"Set the tab stop distance.">;
234c100214fdc41a7ea215f75d433eb1cb829fd4330Chris Lattnerdef ferror_limit : Separate<"-ferror-limit">, MetaVarName<"<N>">,
235c100214fdc41a7ea215f75d433eb1cb829fd4330Chris Lattner  HelpText<"Set the maximum number of errors to emit before stopping (0 = no limit).">;
2366c1cb9916e9988dcdd65b9266dbe24afd173427aDouglas Gregordef fmacro_backtrace_limit : Separate<"-fmacro-backtrace-limit">, MetaVarName<"<N>">,
237b29a6108b164b183d32d8c14bf5b7492a483c7c9Chandler Carruth  HelpText<"Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit).">;
238575cf3791216c33770ba950430493cdd43099f8fDouglas Gregordef ftemplate_backtrace_limit : Separate<"-ftemplate-backtrace-limit">, MetaVarName<"<N>">,
239575cf3791216c33770ba950430493cdd43099f8fDouglas Gregor  HelpText<"Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit).">;
24008d6e032a2a0a8656d12b3b7b93942987bb12eb7Richard Smithdef fconstexpr_backtrace_limit : Separate<"-fconstexpr-backtrace-limit">, MetaVarName<"<N>">,
24108d6e032a2a0a8656d12b3b7b93942987bb12eb7Richard Smith  HelpText<"Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).">;
242b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbardef fmessage_length : Separate<"-fmessage-length">, MetaVarName<"<N>">,
24321affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar  HelpText<"Format message diagnostics so that they fit within N columns or fewer, when possible.">;
24421affc089773edc30be43ecb0022a48acdac7093Daniel Dunbardef Wno_rewrite_macros : Flag<"-Wno-rewrite-macros">,
24521affc089773edc30be43ecb0022a48acdac7093Daniel Dunbar  HelpText<"Silence ObjC rewriting warnings">;
24633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
24733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
24833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Frontend Options
24933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
25033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
2518ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar// This isn't normally used, it is just here so we can parse a
2528ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar// CompilerInvocation out of a driver-derived argument vector.
2538ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbardef cc1 : Flag<"-cc1">;
2548ff5b28d6efcffe2251e77634c7edf83a4763344Daniel Dunbar
2559bed8798964d9f07599c2c9199701f86fbc70e20Douglas Gregordef ast_merge : Separate<"-ast-merge">,
2569bed8798964d9f07599c2c9199701f86fbc70e20Douglas Gregor  MetaVarName<"<ast file>">,
2579bed8798964d9f07599c2c9199701f86fbc70e20Douglas Gregor  HelpText<"Merge the given AST file into the translation unit being compiled.">;
25833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef code_completion_at : Separate<"-code-completion-at">,
259b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar  MetaVarName<"<file>:<line>:<column>">,
26033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Dump code-completion information at a location">;
261e14b5f5237d0740c2b21c50b2eb41a06e778d820Daniel Dunbardef remap_file : Separate<"-remap-file">,
262e14b5f5237d0740c2b21c50b2eb41a06e778d820Daniel Dunbar  MetaVarName<"<from>;<to>">,
263e14b5f5237d0740c2b21c50b2eb41a06e778d820Daniel Dunbar  HelpText<"Replace the contents of the <from> file with the contents of the <to> file">;
264ce6bf1ecdaca15450d8c0424724cc1558b847364Daniel Dunbardef code_completion_at_EQ : Joined<"-code-completion-at=">,
265ce6bf1ecdaca15450d8c0424724cc1558b847364Daniel Dunbar  Alias<code_completion_at>;
26633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef code_completion_macros : Flag<"-code-completion-macros">,
26733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Include macros in code-completion results">;
268d8e8a58ee35ab334ab9d0c2154dca029c1822e8aDouglas Gregordef code_completion_patterns : Flag<"-code-completion-patterns">,
269d8e8a58ee35ab334ab9d0c2154dca029c1822e8aDouglas Gregor  HelpText<"Include code patterns in code-completion results">;
2708071e4212ae08f8014e0c3ae6d18b7388003a5ccDouglas Gregordef no_code_completion_globals : Flag<"-no-code-completion-globals">,
2718071e4212ae08f8014e0c3ae6d18b7388003a5ccDouglas Gregor  HelpText<"Do not include global declarations in code-completion results.">;
272d99ef536b241071b6f4c01db6525dc03242ac30bDmitri Gribenkodef code_completion_brief_comments : Flag<"-code-completion-brief-comments">,
273d99ef536b241071b6f4c01db6525dc03242ac30bDmitri Gribenko  HelpText<"Include brief documentation comments in code-completion results.">;
27433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef disable_free : Flag<"-disable-free">,
27533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Disable freeing of memory on exit">;
276b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbardef load : Separate<"-load">, MetaVarName<"<dsopath>">,
277efba227cc5459554eca466aafe786b5132dcb68cDaniel Dunbar  HelpText<"Load the named plugin (dynamic shared object)">;
2783177aae51a21f61ab483c52f97124bdb707da7f1Daniel Dunbardef plugin : Separate<"-plugin">, MetaVarName<"<name>">,
2795aa74affa5d61d04c4b034b3722ca41aec0cba6eNico Weber  HelpText<"Use the named plugin action instead of the default action (use \"help\" to list available options)">;
28020249a1af2e462dcafdd6a350f1c7967b264ff25Michael J. Spencerdef plugin_arg : JoinedAndSeparate<"-plugin-arg-">,
2813177aae51a21f61ab483c52f97124bdb707da7f1Daniel Dunbar    MetaVarName<"<name> <arg>">,
2823177aae51a21f61ab483c52f97124bdb707da7f1Daniel Dunbar    HelpText<"Pass <arg> to plugin <name>">;
2835aa74affa5d61d04c4b034b3722ca41aec0cba6eNico Weberdef add_plugin : Separate<"-add-plugin">, MetaVarName<"<name>">,
2845aa74affa5d61d04c4b034b3722ca41aec0cba6eNico Weber  HelpText<"Use the named plugin action in addition to the default action">;
2858b9adfea5e834eaee0f45d8cc7fb052d68df4a46Daniel Dunbardef resource_dir : Separate<"-resource-dir">,
2868b9adfea5e834eaee0f45d8cc7fb052d68df4a46Daniel Dunbar  HelpText<"The directory which holds the compiler resource files">;
2879b5e9ae08defd14441acca1d7d4502b933bf6c5aDaniel Dunbardef version : Flag<"-version">,
2889b5e9ae08defd14441acca1d7d4502b933bf6c5aDaniel Dunbar  HelpText<"Print the compiler version">;
289e34a052d642ba7830174b1a51787251d7f704f80Alexander Kornienkodef ast_dump_filter : Separate<"-ast-dump-filter">,
290e34a052d642ba7830174b1a51787251d7f704f80Alexander Kornienko  MetaVarName<"<dump_filter>">,
291e34a052d642ba7830174b1a51787251d7f704f80Alexander Kornienko  HelpText<"Use with -ast-dump or -ast-print to dump/print only AST declaration"
292171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko           " nodes having a certain substring in a qualified name. Use"
293171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko           " -ast-list to list all filterable declaration node names.">;
29433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
29533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbarlet Group = Action_Group in {
29633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
29733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef Eonly : Flag<"-Eonly">,
29833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Just run preprocessor, no output (for timings)">;
29933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef dump_raw_tokens : Flag<"-dump-raw-tokens">,
30033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Lex file in raw mode and dump raw tokens">;
30133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef analyze : Flag<"-analyze">,
30233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Run static analysis engine">;
30333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef dump_tokens : Flag<"-dump-tokens">,
30433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Run preprocessor, dump internal rep of tokens">;
3052758595023c5c7c0495f19260089f975022c50dcDaniel Dunbardef init_only : Flag<"-init-only">,
3062758595023c5c7c0495f19260089f975022c50dcDaniel Dunbar  HelpText<"Only execute frontend initialization">;
30733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef fixit : Flag<"-fixit">,
30833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Apply fix-it advice to the input source">;
309ba5f6eced29937e4e4851a2c0980744768413d66Nick Lewyckydef fixit_EQ : Joined<"-fixit=">,
310ba5f6eced29937e4e4851a2c0980744768413d66Nick Lewycky  HelpText<"Apply fix-it advice creating a file with the given suffix">;
311f033f1da4a34f8df6e95e9929dc04ff54bb8fb01Douglas Gregordef print_preamble : Flag<"-print-preamble">,
312f033f1da4a34f8df6e95e9929dc04ff54bb8fb01Douglas Gregor  HelpText<"Print the \"preamble\" of a file, which is a candidate for implicit"
313f033f1da4a34f8df6e95e9929dc04ff54bb8fb01Douglas Gregor           " precompiled headers.">;
31433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef emit_html : Flag<"-emit-html">,
31533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Output input source as HTML">;
31633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef ast_print : Flag<"-ast-print">,
31733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Build ASTs and then pretty-print them">;
318171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienkodef ast_list : Flag<"-ast-list">,
319171af64ef10ae816ed2a4f15f5d17aca1d71769fAlexander Kornienko  HelpText<"Build ASTs and print the list of declaration node qualified names">;
32033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef ast_dump : Flag<"-ast-dump">,
32133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Build ASTs and then debug dump them">;
322f35142413974e9dfe2c5f202084db4bd1c2073e9John McCalldef ast_dump_xml : Flag<"-ast-dump-xml">,
323f35142413974e9dfe2c5f202084db4bd1c2073e9John McCall  HelpText<"Build ASTs and then debug dump them in a verbose XML format">;
32433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef ast_view : Flag<"-ast-view">,
32533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Build ASTs and view them with GraphViz">;
32633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef print_decl_contexts : Flag<"-print-decl-contexts">,
32733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Print DeclContexts and their Decls">;
328467dc88512b4ba4bb16e274ea3771dc1415d31daDouglas Gregordef emit_module : Flag<"-emit-module">,
3296649014b792f8a4b1bc1e8be8f844a72220af508Douglas Gregor  HelpText<"Generate pre-compiled module file from a module map">;
33033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef emit_pth : Flag<"-emit-pth">,
33133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Generate pre-tokenized header file">;
33233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef emit_pch : Flag<"-emit-pch">,
33333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Generate pre-compiled header file">;
33433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef emit_llvm_bc : Flag<"-emit-llvm-bc">,
33533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Build ASTs then convert to LLVM, emit .bc file">;
33633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef emit_llvm_only : Flag<"-emit-llvm-only">,
33733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Build ASTs and convert to LLVM, discarding output">;
33832148cef25570a4fbe3ad0ec497ce3ae2cf1b774Daniel Dunbardef emit_codegen_only : Flag<"-emit-codegen-only">,
33932148cef25570a4fbe3ad0ec497ce3ae2cf1b774Daniel Dunbar  HelpText<"Generate machine code, but discard output">;
340da1573f95902a42aa4d11e8f45ab98ec7e27bc28Daniel Dunbardef emit_obj : Flag<"-emit-obj">,
341da1573f95902a42aa4d11e8f45ab98ec7e27bc28Daniel Dunbar  HelpText<"Emit native object files">;
34233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef rewrite_test : Flag<"-rewrite-test">,
34333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Rewriter playground">;
34433a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef rewrite_macros : Flag<"-rewrite-macros">,
34533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Expand macros without full preprocessing">;
34630660a898545416f0fea2d717f16f75640001e38Ted Kremenekdef migrate : Flag<"-migrate">,
34730660a898545416f0fea2d717f16f75640001e38Ted Kremenek  HelpText<"Migrate source code">;
34833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar}
34933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
35030660a898545416f0fea2d717f16f75640001e38Ted Kremenekdef mt_migrate_directory : Separate<"-mt-migrate-directory">,
35130660a898545416f0fea2d717f16f75640001e38Ted Kremenek  HelpText<"Directory for temporary files produced during ARC or ObjC migration">;
352f85e193739c953358c865005855253af4f68a497John McCalldef arcmt_check : Flag<"-arcmt-check">,
353f85e193739c953358c865005855253af4f68a497John McCall  HelpText<"Check for ARC migration issues that need manual handling">;
354f85e193739c953358c865005855253af4f68a497John McCalldef arcmt_modify : Flag<"-arcmt-modify">,
355f85e193739c953358c865005855253af4f68a497John McCall  HelpText<"Apply modifications to files to conform to ARC">;
35669325d5b7cfecf1b3128745efc33612aedf1b8b4Argyrios Kyrtzidisdef arcmt_migrate : Flag<"-arcmt-migrate">,
35769325d5b7cfecf1b3128745efc33612aedf1b8b4Argyrios Kyrtzidis  HelpText<"Apply modifications and produces temporary files that conform to ARC">;
358389db16c63eec6ecfa9b235155252d8da766e94eArgyrios Kyrtzidis
35933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef relocatable_pch : Flag<"-relocatable-pch">,
36033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Whether to build a relocatable precompiled header">;
36133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef print_stats : Flag<"-print-stats">,
36233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Print performance metrics and statistics">;
36346116ce06ae28e3fc3a34c513f2f63ac02d9a194Anders Carlssondef fdump_record_layouts : Flag<"-fdump-record-layouts">,
364b69eca5d2196c06870d3eeb62d689feebaaa8a4dDaniel Dunbar  HelpText<"Dump record layout information">;
365453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregordef fdump_record_layouts_simple : Flag<"-fdump-record-layouts-simple">,
366453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor  HelpText<"Dump record layout information in a simple form used for testing">;
3671450f265fcc84a7ca64dd9f3b8d4492c5bd55e23Nick Lewyckydef fix_what_you_can : Flag<"-fix-what-you-can">,
3681450f265fcc84a7ca64dd9f3b8d4492c5bd55e23Nick Lewycky  HelpText<"Apply fix-it advice even in the presence of unfixable errors">;
36961d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidisdef fix_only_warnings : Flag<"-fix-only-warnings">,
37061d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis  HelpText<"Apply fix-it advice only for warnings, not errors">;
37161d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidisdef fixit_recompile : Flag<"-fixit-recompile">,
37261d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis  HelpText<"Apply fix-it changes and recompile">;
37361d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidisdef fixit_to_temp : Flag<"-fixit-to-temporary">,
37461d679ab2831b161c857cf3f974312fbd4ef1efdArgyrios Kyrtzidis  HelpText<"Apply fix-it changes to temporary files">;
375b69eca5d2196c06870d3eeb62d689feebaaa8a4dDaniel Dunbar
376453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregordef foverride_record_layout_EQ : Joined<"-foverride-record-layout=">,
377453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor  HelpText<"Override record layouts with those in the given file">;
378453dbcbe30093fbf947a0bec2fbd46e9694eafe9Douglas Gregor  
37933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
38033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Language Options
38133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
38233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
38313db5cfc4e5f03eb70efe0d227b53b8280f16161John McCalldef fblocks_runtime_optional : Flag<"-fblocks-runtime-optional">,
38413db5cfc4e5f03eb70efe0d227b53b8280f16161John McCall  HelpText<"Weakly link in the blocks runtime">;
38573482884560be041d86eccbd7dd5a6918677393bDaniel Dunbardef fsjlj_exceptions : Flag<"-fsjlj-exceptions">,
38673482884560be041d86eccbd7dd5a6918677393bDaniel Dunbar  HelpText<"Use SjLj style exceptions">;
387279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCalldef fhidden_weak_vtables : Flag<"-fhidden-weak-vtables">,
388279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall  HelpText<"Generate weak vtables and RTTI with hidden visibility">;
38933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef main_file_name : Separate<"-main-file-name">,
39033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Main file name to use for debug info">;
391efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbardef fno_signed_char : Flag<"-fno-signed-char">,
392efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar  HelpText<"Char is unsigned">;
39333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef fconstant_string_class : Separate<"-fconstant-string-class">,
394b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar  MetaVarName<"<class name>">,
39533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Specify the class to use for constant Objective-C string objects.">;
396f85e193739c953358c865005855253af4f68a497John McCalldef fobjc_arc_cxxlib_EQ : Joined<"-fobjc-arc-cxxlib=">,
397f85e193739c953358c865005855253af4f68a497John McCall  HelpText<"Objective-C++ Automatic Reference Counting standard library kind">;
3989f084a3166b684573ba49df28fc5792bc37d92e1John McCalldef fobjc_runtime_has_weak : Flag<"-fobjc-runtime-has-weak">,
3999f084a3166b684573ba49df28fc5792bc37d92e1John McCall  HelpText<"The target Objective-C runtime supports ARC weak operations">;
400f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbardef fobjc_dispatch_method_EQ : Joined<"-fobjc-dispatch-method=">,
401f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar  HelpText<"Objective-C dispatch method to use">;
402c32647d111e516593b9ba242cad7b8ff4016c155Ted Kremenekdef fobjc_default_synthesize_properties : Flag<"-fobjc-default-synthesize-properties">,
403c32647d111e516593b9ba242cad7b8ff4016c155Ted Kremenek  HelpText<"enable the default synthesis of Objective-C properties">;
4047674352cf3e8f699914a2f739f1ae8c8c3480813Daniel Dunbardef pic_level : Separate<"-pic-level">,
405b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbar  HelpText<"Value for __PIC__">;
4065e219cf7f896873c1c1e64b9e87a7dade99debbaChandler Carruthdef pie_level : Separate<"-pie-level">,
4075e219cf7f896873c1c1e64b9e87a7dade99debbaChandler Carruth  HelpText<"Value for __PIE__">;
408fae3b2f4743dad616623c4df2fdb0f5128bd36d9Douglas Gregordef fno_validate_pch : Flag<"-fno-validate-pch">,
409fae3b2f4743dad616623c4df2fdb0f5128bd36d9Douglas Gregor  HelpText<"Disable validation of precompiled headers">;
410b972858068d2ea77f72a1e7b1812b196afd6be2eArgyrios Kyrtzidisdef dump_deserialized_pch_decls : Flag<"-dump-deserialized-decls">,
411b972858068d2ea77f72a1e7b1812b196afd6be2eArgyrios Kyrtzidis  HelpText<"Dump declarations that are deserialized from PCH, for testing">;
4123e78593b1ced32b7e0a97da044213014ee0f6f7cArgyrios Kyrtzidisdef error_on_deserialized_pch_decl : Separate<"-error-on-deserialized-decl">,
4133e78593b1ced32b7e0a97da044213014ee0f6f7cArgyrios Kyrtzidis  HelpText<"Emit error if a specific declaration is deserialized from PCH, for testing">;
4149a8cbc75052d641105e45d0eca2592743fa01e54Argyrios Kyrtzidisdef error_on_deserialized_pch_decl_EQ : Joined<"-error-on-deserialized-decl=">,
4159a8cbc75052d641105e45d0eca2592743fa01e54Argyrios Kyrtzidis  Alias<error_on_deserialized_pch_decl>;
41633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef static_define : Flag<"-static-define">,
41733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Should __STATIC__ be defined">;
41833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef stack_protector : Separate<"-stack-protector">,
41933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Enable stack protectors">;
42033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef fvisibility : Separate<"-fvisibility">,
42133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Default symbol visibility">;
42233a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbardef ftemplate_depth : Separate<"-ftemplate-depth">,
42333a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Maximum depth of recursive template instantiation">;
424c18c42345636e2866fed75c7e434fb659d747672Richard Smithdef fconstexpr_depth : Separate<"-fconstexpr-depth">,
425c18c42345636e2866fed75c7e434fb659d747672Richard Smith  HelpText<"Maximum depth of recursive constexpr function calls">;
42650465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruthdef fconst_strings : Flag<"-fconst-strings">,
42750465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruth  HelpText<"Use a const qualified type for string literals in C and ObjC">;
42850465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruthdef fno_const_strings : Flag<"-fno-const-strings">,
42950465d1d2f5f6dd3d8e18e2cf7bad4691e5ca6a8Chandler Carruth  HelpText<"Don't use a const qualified type for string literals in C and ObjC">;
430fb937b8c5f1c5dc9cfd4223b5cae230cc42b0287Daniel Dunbardef fno_bitfield_type_align : Flag<"-fno-bitfield-type-align">,
431fb937b8c5f1c5dc9cfd4223b5cae230cc42b0287Daniel Dunbar  HelpText<"Ignore bit-field types when aligning structures">;
432207f4d8543529221932af82836016a2ef066c917Peter Collingbournedef ffake_address_space_map : Flag<"-ffake-address-space-map">,
433207f4d8543529221932af82836016a2ef066c917Peter Collingbourne  HelpText<"Use a fake address space map; OpenCL testing purposes only">;
434a5fc472b353b88be3b4981da946fb01f5a5cc0c6John McCalldef funknown_anytype : Flag<"-funknown-anytype">,
435a5fc472b353b88be3b4981da946fb01f5a5cc0c6John McCall  HelpText<"Enable parser support for the __unknown_anytype type; for testing purposes only">;
43648218c60d6b53b7880917d1366ee716dec2145caJohn McCalldef fdebugger_support : Flag<"-fdebugger-support">,
43748218c60d6b53b7880917d1366ee716dec2145caJohn McCall  HelpText<"Enable special debugger support behavior">;
43850a9a12d4f7387bcff3213d4b56e74bab9f4f5d2Sean Callanandef fdebugger_cast_result_to_id : Flag<"-fdebugger-cast-result-to-id">,
43950a9a12d4f7387bcff3213d4b56e74bab9f4f5d2Sean Callanan  HelpText<"Enable casting unknown expression results to id">;
440ebcb57a8d298862c65043e88b2429591ab3c58d3Ted Kremenekdef fdebugger_objc_literal : Flag<"-fdebugger-objc-literal">,
441b13291aa59c4c074e70f2d0181f9721e38b494d4Jordan Rose  HelpText<"Enable special debugger support for Objective-C subscripting and literals">;
4421cfe3c305c0d5393fd94167808b8f5d96cd65227Chandler Carruthdef fdeprecated_macro : Flag<"-fdeprecated-macro">,
443f8c247d247f9f7ab2bf4965677e6d056711c99d5Chandler Carruth  HelpText<"Defines the __DEPRECATED macro">;
4441cfe3c305c0d5393fd94167808b8f5d96cd65227Chandler Carruthdef fno_deprecated_macro : Flag<"-fno-deprecated-macro">,
445f8c247d247f9f7ab2bf4965677e6d056711c99d5Chandler Carruth  HelpText<"Undefines the __DEPRECATED macro">;
44633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
44733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
44833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Header Search Options
44933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
45033a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
451a268fc0f2229eb132ebc8501b140093aeb5516bfDaniel Dunbardef nostdsysteminc : Flag<"-nostdsysteminc">,
452a268fc0f2229eb132ebc8501b140093aeb5516bfDaniel Dunbar  HelpText<"Disable standard system #include directories">;
453b86b8dc7ef89405205f94635c1073cdb1a7093ebDouglas Gregordef fmodule_name : Joined<"-fmodule-name=">, 
454b86b8dc7ef89405205f94635c1073cdb1a7093ebDouglas Gregor  MetaVarName<"<name>">,
455b86b8dc7ef89405205f94635c1073cdb1a7093ebDouglas Gregor  HelpText<"Specify the name of the module to build">;           
4566e975c4517958bcc11c834336d340797356058dbDouglas Gregordef fdisable_module_hash : Flag<"-fdisable-module-hash">,
4576e975c4517958bcc11c834336d340797356058dbDouglas Gregor  HelpText<"Disable the module hash">;
45847adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramerdef c_isystem : JoinedOrSeparate<"-c-isystem">, MetaVarName<"<directory>">,
45947adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer  HelpText<"Add directory to the C SYSTEM include search path">;
46047adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramerdef objc_isystem : JoinedOrSeparate<"-objc-isystem">,
46147adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer  MetaVarName<"<directory>">,
46247adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer  HelpText<"Add directory to the ObjC SYSTEM include search path">;
46347adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramerdef objcxx_isystem : JoinedOrSeparate<"-objcxx-isystem">,
46447adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer  MetaVarName<"<directory>">,
46547adebef0df6dce752fe9a45e9190e8005b5d07cBenjamin Kramer  HelpText<"Add directory to the ObjC++ SYSTEM include search path">;
466ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruthdef internal_isystem : JoinedOrSeparate<"-internal-isystem">,
467ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth  MetaVarName<"<directory>">,
468ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth  HelpText<"Add directory to the internal system include search path; these "
469ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth           "are assumed to not be user-provided and are used to model system "
470ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth           "and standard headers' paths.">;
471ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruthdef internal_externc_isystem : JoinedOrSeparate<"-internal-externc-isystem">,
472ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth  MetaVarName<"<directory>">,
473ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth  HelpText<"Add directory to the internal system include search path with "
474ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth           "implicit extern \"C\" semantics; these are assumed to not be "
475ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth           "user-provided and are used to model system and standard headers' "
476ac2bc4d220a6263be96b943e9162f4a11149e26dChandler Carruth           "paths.">;
477f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smithdef isystem_prefix : JoinedOrSeparate<"-isystem-prefix">,
478f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith  MetaVarName<"<prefix>">,
479f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith  HelpText<"Treat all #include paths starting with <prefix> as including a "
480f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith           "system header.">;
481f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smithdef ino_system_prefix : JoinedOrSeparate<"-ino-system-prefix">,
482f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith  MetaVarName<"<prefix>">,
483f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith  HelpText<"Treat all #include paths starting with <prefix> as not including a "
484f122a138e39dbb29162abfa9a3d44091d8efa7afRichard Smith           "system header.">;
48533a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
48633a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
48733a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar// Preprocessor Options
48833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar//===----------------------------------------------------------------------===//
48933a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar
490b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbardef include_pth : Separate<"-include-pth">, MetaVarName<"<file>">,
49133a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Include file before parsing">;
492b0f4b9a558933b307073f7cd7753602f94354ae9Argyrios Kyrtzidisdef chain_include : Separate<"-chain-include">, MetaVarName<"<file>">,
493b0f4b9a558933b307073f7cd7753602f94354ae9Argyrios Kyrtzidis  HelpText<"Include and chain a header file after turning it into PCH">;
494f4f6c9db68465b886ec2e596feaa6ecc782395a4Douglas Gregordef preamble_bytes_EQ : Joined<"-preamble-bytes=">,
4953d398aa5c2be8919bbc0144bce611c48119bc861Douglas Gregor  HelpText<"Assume that the precompiled header is a precompiled preamble "
4963d398aa5c2be8919bbc0144bce611c48119bc861Douglas Gregor           "covering the first N bytes of the main file">;
497b737fb12cbf9617edc5720fba8b6aed118c84771Daniel Dunbardef token_cache : Separate<"-token-cache">, MetaVarName<"<path>">,
49833a33d8abd7a3d49eacc05e40c00b00634bf1ee9Daniel Dunbar  HelpText<"Use specified token cache file">;
49994dc8f640ebea52241412512ed48601626edbc58Douglas Gregordef detailed_preprocessing_record : Flag<"-detailed-preprocessing-record">,
50094dc8f640ebea52241412512ed48601626edbc58Douglas Gregor  HelpText<"include a detailed record of preprocessing actions">;
50161e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne
50261e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne//===----------------------------------------------------------------------===//
50361e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne// OpenCL Options
50461e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne//===----------------------------------------------------------------------===//
50561e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne
50661e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbournedef cl_opt_disable : Flag<"-cl-opt-disable">,
50761e07861dd3a70c31f658bad8c4b911994e4933bPeter Collingbourne  HelpText<"OpenCL only. This option disables all optimizations. The default is optimizations are enabled.">;
5080982136cb748f4a842141bf199d133126d6be882Peter Collingbournedef cl_single_precision_constant : Flag<"-cl-single-precision-constant">,
5090982136cb748f4a842141bf199d133126d6be882Peter Collingbourne  HelpText<"OpenCL only. Treat double precision floating-point constant as single precision constant.">;
5105d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbournedef cl_finite_math_only : Flag<"-cl-finite-math-only">,
5115d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne  HelpText<"OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.">;
5125f67e13fcdc3c33e9cd5d027bfbb677b726c6f6aPeter Collingbournedef cl_unsafe_math_optimizations : Flag<"-cl-unsafe-math-optimizations">,
5135f67e13fcdc3c33e9cd5d027bfbb677b726c6f6aPeter Collingbourne  HelpText<"OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable">;
514f0840820b4e28fd0cc04d737382811d7372cb832Peter Collingbournedef cl_fast_relaxed_math : Flag<"-cl-fast-relaxed-math">,
515f0840820b4e28fd0cc04d737382811d7372cb832Peter Collingbourne  HelpText<"OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__">;
5164400cb8c548a90c472444b57690117563f4be195Peter Collingbournedef cl_mad_enable : Flag<"-cl-mad-enable">,
5174400cb8c548a90c472444b57690117563f4be195Peter Collingbourne  HelpText<"OpenCL only. Enable less precise MAD instructions to be generated.">;
51891252d115bdb6f937192a8dbc86c5abe00101436Peter Collingbournedef cl_std_EQ : Joined<"-cl-std=">,
51991252d115bdb6f937192a8dbc86c5abe00101436Peter Collingbourne  HelpText<"OpenCL language standard to compile for">;
520d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne
521d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne//===----------------------------------------------------------------------===//
522d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne// CUDA Options
523d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne//===----------------------------------------------------------------------===//
524d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne
525d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbournedef fcuda_is_device : Flag<"-fcuda-is-device">,
526d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne  HelpText<"Generate code for CUDA device">;
527bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy
528bfd7a525bcf372004787cb641b8c1566b9e8aba5James Molloy} // let Flags = [CC1Option]
529