Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 1 | //===--- CC1Options.td - Options for clang -cc1 ---------------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file defines the options accepted by clang -cc1. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
Richard Smith | f1eaab1 | 2012-11-09 22:36:44 +0000 | [diff] [blame] | 14 | let Flags = [CC1Option, NoDriverOption] in { |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 15 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 16 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 17 | // Target Options |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 18 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 19 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 20 | def cxx_abi : Separate<["-"], "cxx-abi">, |
Charles Davis | 98b7c5c | 2010-06-11 01:06:47 +0000 | [diff] [blame] | 21 | HelpText<"Target a particular C++ ABI type">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 22 | def target_abi : Separate<["-"], "target-abi">, |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 23 | HelpText<"Target a particular ABI type">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 24 | def target_cpu : Separate<["-"], "target-cpu">, |
Daniel Dunbar | 38b48af | 2009-12-18 06:30:12 +0000 | [diff] [blame] | 25 | HelpText<"Target a specific cpu type">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 26 | def target_feature : Separate<["-"], "target-feature">, |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 27 | HelpText<"Target specific attributes">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 28 | def target_linker_version : Separate<["-"], "target-linker-version">, |
Daniel Dunbar | 39065a5 | 2010-08-11 23:07:42 +0000 | [diff] [blame] | 29 | HelpText<"Target linker version">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 30 | def triple : Separate<["-"], "triple">, |
Daniel Dunbar | 8adfcff | 2009-11-19 07:19:04 +0000 | [diff] [blame] | 31 | HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 32 | def triple_EQ : Joined<["-"], "triple=">, Alias<triple>; |
Daniel Dunbar | 50a4487 | 2009-11-20 17:23:30 +0000 | [diff] [blame] | 33 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 34 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 35 | // Analyzer Options |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 36 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 37 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 38 | def analysis_UnoptimizedCFG : Flag<["-"], "unoptimized-cfg">, |
Ted Kremenek | c9c6b90 | 2010-08-20 05:53:47 +0000 | [diff] [blame] | 39 | HelpText<"Generate unoptimized CFGs for all analyses">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 40 | def analysis_CFGAddImplicitDtors : Flag<["-"], "cfg-add-implicit-dtors">, |
| 41 | HelpText<"Add C++ implicit destructors to CFGs for all analyses">; |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 42 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 43 | def analyzer_store : Separate<["-"], "analyzer-store">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 44 | HelpText<"Source Code Analysis - Abstract Memory Store Models">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 45 | def analyzer_store_EQ : Joined<["-"], "analyzer-store=">, Alias<analyzer_store>; |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 46 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 47 | def analyzer_constraints : Separate<["-"], "analyzer-constraints">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 48 | HelpText<"Source Code Analysis - Symbolic Constraint Engines">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 49 | def analyzer_constraints_EQ : Joined<["-"], "analyzer-constraints=">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 50 | Alias<analyzer_constraints>; |
| 51 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 52 | def analyzer_output : Separate<["-"], "analyzer-output">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 53 | HelpText<"Source Code Analysis - Output Options">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 54 | def analyzer_output_EQ : Joined<["-"], "analyzer-output=">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 55 | Alias<analyzer_output>; |
| 56 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 57 | def analyzer_purge : Separate<["-"], "analyzer-purge">, |
Anna Zaks | d309528 | 2011-09-30 02:03:00 +0000 | [diff] [blame] | 58 | HelpText<"Source Code Analysis - Dead Symbol Removal Frequency">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 59 | def analyzer_purge_EQ : Joined<["-"], "analyzer-purge=">, Alias<analyzer_purge>; |
Anna Zaks | d309528 | 2011-09-30 02:03:00 +0000 | [diff] [blame] | 60 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 61 | def analyzer_opt_analyze_headers : Flag<["-"], "analyzer-opt-analyze-headers">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 62 | HelpText<"Force the static analyzer to analyze functions defined in header files">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 63 | def analyzer_opt_analyze_nested_blocks : Flag<["-"], "analyzer-opt-analyze-nested-blocks">, |
Michael J. Spencer | 20249a1 | 2010-10-21 03:16:25 +0000 | [diff] [blame] | 64 | HelpText<"Analyze the definitions of blocks in addition to functions">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 65 | def analyzer_display_progress : Flag<["-"], "analyzer-display-progress">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 66 | HelpText<"Emit verbose output about the analyzer's progress">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 67 | def analyze_function : Separate<["-"], "analyze-function">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 68 | HelpText<"Run analysis on specific function">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 69 | def analyze_function_EQ : Joined<["-"], "analyze-function=">, Alias<analyze_function>; |
| 70 | def analyzer_eagerly_assume : Flag<["-"], "analyzer-eagerly-assume">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 71 | HelpText<"Eagerly assume the truth/falseness of some symbolic constraints">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 72 | def trim_egraph : Flag<["-"], "trim-egraph">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 73 | HelpText<"Only show error-related paths in the analysis graph">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 74 | def analyzer_viz_egraph_graphviz : Flag<["-"], "analyzer-viz-egraph-graphviz">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 75 | HelpText<"Display exploded graph using GraphViz">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 76 | def analyzer_viz_egraph_ubigraph : Flag<["-"], "analyzer-viz-egraph-ubigraph">, |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 77 | HelpText<"Display exploded graph using Ubigraph">; |
Anna Zaks | 6625335 | 2012-03-08 23:16:35 +0000 | [diff] [blame] | 78 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 79 | def analyzer_inline_max_stack_depth : Separate<["-"], "analyzer-inline-max-stack-depth">, |
Anna Zaks | 8235f9c | 2012-03-02 19:05:03 +0000 | [diff] [blame] | 80 | HelpText<"Bound on stack depth while inlining (4 by default)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 81 | def analyzer_inline_max_stack_depth_EQ : Joined<["-"], "analyzer-inline-max-stack-depth=">, |
Anna Zaks | 6625335 | 2012-03-08 23:16:35 +0000 | [diff] [blame] | 82 | Alias<analyzer_inline_max_stack_depth>; |
| 83 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 84 | def analyzer_inlining_mode : Separate<["-"], "analyzer-inlining-mode">, |
Anna Zaks | 6625335 | 2012-03-08 23:16:35 +0000 | [diff] [blame] | 85 | HelpText<"Specify the function selection heuristic used during inlining">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 86 | def analyzer_inlining_mode_EQ : Joined<["-"], "analyzer-inlining-mode=">, Alias<analyzer_inlining_mode>; |
Anna Zaks | 5903a37 | 2012-03-27 20:02:53 +0000 | [diff] [blame] | 87 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 88 | def analyzer_disable_retry_exhausted : Flag<["-"], "analyzer-disable-retry-exhausted">, |
Anna Zaks | b47dbcb | 2012-03-28 19:59:16 +0000 | [diff] [blame] | 89 | HelpText<"Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)">; |
Anna Zaks | 6625335 | 2012-03-08 23:16:35 +0000 | [diff] [blame] | 90 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 91 | def analyzer_max_loop : Separate<["-"], "analyzer-max-loop">, |
Zhongxing Xu | 6362b89 | 2010-05-18 00:28:37 +0000 | [diff] [blame] | 92 | HelpText<"The maximum number of times the analyzer will go through a loop">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 93 | def analyzer_stats : Flag<["-"], "analyzer-stats">, |
Anna Zaks | 81fb169 | 2012-02-27 21:33:16 +0000 | [diff] [blame] | 94 | HelpText<"Print internal analyzer statistics.">; |
Daniel Dunbar | e2814d8 | 2009-11-22 22:08:20 +0000 | [diff] [blame] | 95 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 96 | def analyzer_checker : Separate<["-"], "analyzer-checker">, |
Argyrios Kyrtzidis | 43dee22 | 2011-02-14 18:13:31 +0000 | [diff] [blame] | 97 | HelpText<"Choose analyzer checkers to enable">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 98 | def analyzer_checker_EQ : Joined<["-"], "analyzer-checker=">, |
Argyrios Kyrtzidis | 43dee22 | 2011-02-14 18:13:31 +0000 | [diff] [blame] | 99 | Alias<analyzer_checker>; |
| 100 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 101 | def analyzer_disable_checker : Separate<["-"], "analyzer-disable-checker">, |
Argyrios Kyrtzidis | 43dee22 | 2011-02-14 18:13:31 +0000 | [diff] [blame] | 102 | HelpText<"Choose analyzer checkers to disable">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 103 | def analyzer_disable_checker_EQ : Joined<["-"], "analyzer-disable-checker=">, |
Argyrios Kyrtzidis | 43dee22 | 2011-02-14 18:13:31 +0000 | [diff] [blame] | 104 | Alias<analyzer_disable_checker>; |
| 105 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 106 | def analyzer_checker_help : Flag<["-"], "analyzer-checker-help">, |
Argyrios Kyrtzidis | 116f364 | 2011-02-25 00:09:51 +0000 | [diff] [blame] | 107 | HelpText<"Display the list of analyzer checkers that are available">; |
| 108 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 109 | def analyzer_config : Separate<["-"], "analyzer-config">, |
Ted Kremenek | 318cc3c | 2012-08-30 05:49:16 +0000 | [diff] [blame] | 110 | HelpText<"Choose analyzer options to enable">; |
Ted Kremenek | 7b73e08 | 2012-08-29 05:55:00 +0000 | [diff] [blame] | 111 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 112 | //===----------------------------------------------------------------------===// |
Fariborz Jahanian | b5c6bab | 2012-01-25 00:20:29 +0000 | [diff] [blame] | 113 | // Migrator Options |
| 114 | //===----------------------------------------------------------------------===// |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 115 | def migrator_no_nsalloc_error : Flag<["-"], "no-ns-alloc-error">, |
Fariborz Jahanian | b5c6bab | 2012-01-25 00:20:29 +0000 | [diff] [blame] | 116 | HelpText<"Do not error on use of NSAllocateCollectable/NSReallocateCollectable">; |
| 117 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 118 | def migrator_no_finalize_removal : Flag<["-"], "no-finalize-removal">, |
Fariborz Jahanian | 26f0e4e | 2012-01-26 00:08:04 +0000 | [diff] [blame] | 119 | HelpText<"Do not remove finalize method in gc mode">; |
| 120 | |
Fariborz Jahanian | b5c6bab | 2012-01-25 00:20:29 +0000 | [diff] [blame] | 121 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 50a4487 | 2009-11-20 17:23:30 +0000 | [diff] [blame] | 122 | // CodeGen Options |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 123 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 50a4487 | 2009-11-20 17:23:30 +0000 | [diff] [blame] | 124 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 125 | def disable_llvm_optzns : Flag<["-"], "disable-llvm-optzns">, |
Daniel Dunbar | 50a4487 | 2009-11-20 17:23:30 +0000 | [diff] [blame] | 126 | HelpText<"Don't run LLVM optimization passes">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 127 | def disable_llvm_verifier : Flag<["-"], "disable-llvm-verifier">, |
John McCall | 824e19e | 2010-02-12 23:47:27 +0000 | [diff] [blame] | 128 | HelpText<"Don't run the LLVM IR verifier pass">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 129 | def disable_red_zone : Flag<["-"], "disable-red-zone">, |
Daniel Dunbar | 50a4487 | 2009-11-20 17:23:30 +0000 | [diff] [blame] | 130 | HelpText<"Do not emit code that uses the red zone.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 131 | def fdebug_compilation_dir : Separate<["-"], "fdebug-compilation-dir">, |
Nick Lewycky | 7c4fd91 | 2011-10-21 02:32:14 +0000 | [diff] [blame] | 132 | HelpText<"The compilation directory to embed in the debug info.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 133 | def dwarf_debug_flags : Separate<["-"], "dwarf-debug-flags">, |
Daniel Dunbar | f2d8b9f | 2009-12-18 02:43:17 +0000 | [diff] [blame] | 134 | HelpText<"The string to embed in the Dwarf debug flags record.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 135 | def dwarf_column_info : Flag<["-"], "dwarf-column-info">, |
Eric Christopher | da3301e | 2012-10-18 21:52:18 +0000 | [diff] [blame] | 136 | HelpText<"Turn on column location information.">; |
Eric Christopher | c706c8e | 2013-02-05 07:29:57 +0000 | [diff] [blame] | 137 | def split_dwarf : Flag<["-"], "split-dwarf">, |
| 138 | HelpText<"Split out the dwarf .dwo sections">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 139 | def fforbid_guard_variables : Flag<["-"], "fforbid-guard-variables">, |
John McCall | 3209669 | 2011-03-18 02:56:14 +0000 | [diff] [blame] | 140 | HelpText<"Emit an error if a C++ static local initializer would need a guard variable">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 141 | def no_implicit_float : Flag<["-"], "no-implicit-float">, |
Chad Rosier | 005af27 | 2012-05-16 21:19:55 +0000 | [diff] [blame] | 142 | HelpText<"Don't generate implicit floating point instructions">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 143 | def fdump_vtable_layouts : Flag<["-"], "fdump-vtable-layouts">, |
Anders Carlsson | 824d7ea | 2010-02-11 08:02:13 +0000 | [diff] [blame] | 144 | HelpText<"Dump the layouts of all vtables that will be emitted in a translation unit">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 145 | def femit_coverage_notes : Flag<["-"], "femit-coverage-notes">, |
Nick Lewycky | e8ba8d7 | 2011-04-21 23:44:07 +0000 | [diff] [blame] | 146 | HelpText<"Emit a gcov coverage notes file when compiling.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 147 | def femit_coverage_data: Flag<["-"], "femit-coverage-data">, |
Nick Lewycky | e8ba8d7 | 2011-04-21 23:44:07 +0000 | [diff] [blame] | 148 | HelpText<"Instrument the program to emit gcov coverage data when run.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 149 | def coverage_file : Separate<["-"], "coverage-file">, |
Nick Lewycky | 3dc0541 | 2011-05-05 00:08:20 +0000 | [diff] [blame] | 150 | HelpText<"Emit coverage data to this filename. The extension will be replaced.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 151 | def coverage_file_EQ : Joined<["-"], "coverage-file=">, Alias<coverage_file>; |
Nick Lewycky | 0f815f1 | 2013-03-07 08:28:53 +0000 | [diff] [blame] | 152 | def coverage_cfg_checksum : Flag<["-"], "coverage-cfg-checksum">, |
| 153 | HelpText<"Emit CFG checksum for functions in .gcno files.">; |
Nick Lewycky | 83c546a | 2013-03-20 02:14:38 +0000 | [diff] [blame] | 154 | def coverage_no_function_names_in_data : Flag<["-"], "coverage-no-function-names-in-data">, |
Nick Lewycky | 0f815f1 | 2013-03-07 08:28:53 +0000 | [diff] [blame] | 155 | HelpText<"Emit function names in .gcda files.">; |
| 156 | def coverage_version_EQ : Joined<["-"], "coverage-version=">, |
| 157 | HelpText<"Four-byte version string for gcov files.">; |
Nick Lewycky | f2b5e07 | 2013-03-20 01:38:16 +0000 | [diff] [blame] | 158 | def test_coverage : Flag<["-"], "test-coverage">, |
| 159 | HelpText<"Do not generate coverage files or remove coverage changes from IR">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 160 | def fuse_register_sized_bitfield_access: Flag<["-"], "fuse-register-sized-bitfield-access">, |
Daniel Dunbar | e26bdb9 | 2011-06-21 18:54:46 +0000 | [diff] [blame] | 161 | HelpText<"Use register sized accesses to bit-fields, when possible.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 162 | def relaxed_aliasing : Flag<["-"], "relaxed-aliasing">, |
Devang Patel | be57012 | 2010-10-15 18:23:36 +0000 | [diff] [blame] | 163 | HelpText<"Turn off Type Based Alias Analysis">; |
Manman Ren | b37a73d | 2013-04-04 21:53:22 +0000 | [diff] [blame] | 164 | def struct_path_tbaa : Flag<["-"], "struct-path-tbaa">, |
| 165 | HelpText<"Turn on struct-path aware Type Based Alias Analysis">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 166 | def masm_verbose : Flag<["-"], "masm-verbose">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 167 | HelpText<"Generate verbose assembly output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 168 | def mcode_model : Separate<["-"], "mcode-model">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 169 | HelpText<"The code model to use">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 170 | def mdebug_pass : Separate<["-"], "mdebug-pass">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 171 | HelpText<"Enable additional debug output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 172 | def mdisable_fp_elim : Flag<["-"], "mdisable-fp-elim">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 173 | HelpText<"Disable frame pointer elimination optimization">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 174 | def mdisable_tail_calls : Flag<["-"], "mdisable-tail-calls">, |
Nick Lewycky | 1db772b | 2012-01-23 08:29:12 +0000 | [diff] [blame] | 175 | HelpText<"Disable tail call optimization, keeping the call stack accurate">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 176 | def menable_no_infinities : Flag<["-"], "menable-no-infs">, |
Daniel Dunbar | 001f628 | 2011-12-09 23:41:18 +0000 | [diff] [blame] | 177 | HelpText<"Allow optimization to assume there are no infinities.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 178 | def menable_no_nans : Flag<["-"], "menable-no-nans">, |
Daniel Dunbar | 001f628 | 2011-12-09 23:41:18 +0000 | [diff] [blame] | 179 | HelpText<"Allow optimization to assume there are no NaNs.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 180 | def menable_unsafe_fp_math : Flag<["-"], "menable-unsafe-fp-math">, |
Chandler Carruth | abf07a7 | 2012-01-02 14:19:45 +0000 | [diff] [blame] | 181 | HelpText<"Allow unsafe floating-point math optimizations which may decrease " |
| 182 | "precision">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 183 | def mfloat_abi : Separate<["-"], "mfloat-abi">, |
Daniel Dunbar | 3b31526 | 2009-11-30 08:42:00 +0000 | [diff] [blame] | 184 | HelpText<"The float ABI to use">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 185 | def mlimit_float_precision : Separate<["-"], "mlimit-float-precision">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 186 | HelpText<"Limit float precision to the given value">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 187 | def mno_exec_stack : Flag<["-"], "mnoexecstack">, |
Nick Lewycky | c3b9014 | 2011-06-21 00:14:18 +0000 | [diff] [blame] | 188 | HelpText<"Mark the file as not needing an executable stack">; |
Eric Christopher | 3105627 | 2013-04-04 06:29:47 +0000 | [diff] [blame] | 189 | def split_stacks : Flag<["-"], "split-stacks">, |
| 190 | HelpText<"Try to use a split stack if possible.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 191 | def mno_zero_initialized_in_bss : Flag<["-"], "mno-zero-initialized-in-bss">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 192 | HelpText<"Do not put zero initialized data in the BSS">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 193 | def backend_option : Separate<["-"], "backend-option">, |
Daniel Dunbar | 3c66d30 | 2011-03-22 16:48:17 +0000 | [diff] [blame] | 194 | HelpText<"Additional arguments to forward to LLVM backend (during code gen)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 195 | def mregparm : Separate<["-"], "mregparm">, |
Daniel Dunbar | 17d3fea | 2011-02-09 17:54:19 +0000 | [diff] [blame] | 196 | HelpText<"Limit the number of registers available for integer arguments">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 197 | def msave_temp_labels : Flag<["-"], "msave-temp-labels">, |
Daniel Dunbar | 9693232 | 2011-03-28 22:49:28 +0000 | [diff] [blame] | 198 | HelpText<"(integrated-as) Save temporary labels">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 199 | def mrelocation_model : Separate<["-"], "mrelocation-model">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 200 | HelpText<"The relocation model to use">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 201 | def munwind_tables : Flag<["-"], "munwind-tables">, |
Daniel Dunbar | f219e7c | 2009-11-29 07:18:39 +0000 | [diff] [blame] | 202 | HelpText<"Generate unwinding tables for all functions">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 203 | def mconstructor_aliases : Flag<["-"], "mconstructor-aliases">, |
John McCall | d46f985 | 2010-02-19 01:32:20 +0000 | [diff] [blame] | 204 | HelpText<"Emit complete constructors and destructors as aliases when possible">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 205 | def mlink_bitcode_file : Separate<["-"], "mlink-bitcode-file">, |
Peter Collingbourne | 22a7dfe | 2011-10-30 17:30:44 +0000 | [diff] [blame] | 206 | HelpText<"Link the given bitcode file before performing optimizations.">; |
Daniel Dunbar | 1bed0c3 | 2009-11-20 23:28:07 +0000 | [diff] [blame] | 207 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 208 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 1bed0c3 | 2009-11-20 23:28:07 +0000 | [diff] [blame] | 209 | // Dependency Output Options |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 210 | //===----------------------------------------------------------------------===// |
| 211 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 212 | def sys_header_deps : Flag<["-"], "sys-header-deps">, |
Daniel Dunbar | 1bed0c3 | 2009-11-20 23:28:07 +0000 | [diff] [blame] | 213 | HelpText<"Include system headers in dependency output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 214 | def header_include_file : Separate<["-"], "header-include-file">, |
Daniel Dunbar | b34d69b | 2011-02-02 21:11:31 +0000 | [diff] [blame] | 215 | HelpText<"Filename (or -) to write header include output to">; |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 216 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 217 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 218 | // Diagnostic Options |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 219 | //===----------------------------------------------------------------------===// |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 220 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 221 | def diagnostic_log_file : Separate<["-"], "diagnostic-log-file">, |
Daniel Dunbar | 08c6695 | 2011-04-07 18:11:14 +0000 | [diff] [blame] | 222 | HelpText<"Filename (or -) to log diagnostics to">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 223 | def diagnostic_serialized_file : Separate<["-"], "serialize-diagnostic-file">, |
Ted Kremenek | 7800212 | 2011-10-29 00:12:39 +0000 | [diff] [blame] | 224 | MetaVarName<"<filename>">, |
| 225 | HelpText<"File for serializing diagnostics in a binary format">; |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 226 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 227 | def fdiagnostics_format : Separate<["-"], "fdiagnostics-format">, |
Douglas Gregor | c9471b0 | 2011-05-21 17:07:29 +0000 | [diff] [blame] | 228 | HelpText<"Change diagnostic formatting to match IDE and command line tools">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 229 | def fdiagnostics_show_category : Separate<["-"], "fdiagnostics-show-category">, |
Chris Lattner | 6fbe839 | 2010-05-04 21:55:25 +0000 | [diff] [blame] | 230 | HelpText<"Print diagnostic category">; |
Richard Smith | 62221b1 | 2012-11-14 23:55:25 +0000 | [diff] [blame] | 231 | def fno_diagnostics_use_presumed_location : Flag<["-"], "fno-diagnostics-use-presumed-location">, |
| 232 | HelpText<"Ignore #line directives when displaying diagnostic locations">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 233 | def ftabstop : Separate<["-"], "ftabstop">, MetaVarName<"<N>">, |
Chris Lattner | 124fca5 | 2010-01-09 21:54:33 +0000 | [diff] [blame] | 234 | HelpText<"Set the tab stop distance.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 235 | def ferror_limit : Separate<["-"], "ferror-limit">, MetaVarName<"<N>">, |
Chris Lattner | c100214 | 2010-04-07 20:37:06 +0000 | [diff] [blame] | 236 | HelpText<"Set the maximum number of errors to emit before stopping (0 = no limit).">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 237 | def fmacro_backtrace_limit : Separate<["-"], "fmacro-backtrace-limit">, MetaVarName<"<N>">, |
Chandler Carruth | b29a610 | 2011-07-15 00:04:38 +0000 | [diff] [blame] | 238 | HelpText<"Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit).">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 239 | def ftemplate_backtrace_limit : Separate<["-"], "ftemplate-backtrace-limit">, MetaVarName<"<N>">, |
Douglas Gregor | 575cf37 | 2010-04-20 07:18:24 +0000 | [diff] [blame] | 240 | HelpText<"Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit).">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 241 | def fconstexpr_backtrace_limit : Separate<["-"], "fconstexpr-backtrace-limit">, MetaVarName<"<N>">, |
Richard Smith | 08d6e03 | 2011-12-16 19:06:07 +0000 | [diff] [blame] | 242 | HelpText<"Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 243 | def fmessage_length : Separate<["-"], "fmessage-length">, MetaVarName<"<N>">, |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 244 | HelpText<"Format message diagnostics so that they fit within N columns or fewer, when possible.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 245 | def Wno_rewrite_macros : Flag<["-"], "Wno-rewrite-macros">, |
Daniel Dunbar | 21affc0 | 2009-11-23 23:41:17 +0000 | [diff] [blame] | 246 | HelpText<"Silence ObjC rewriting warnings">; |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 247 | |
| 248 | //===----------------------------------------------------------------------===// |
| 249 | // Frontend Options |
| 250 | //===----------------------------------------------------------------------===// |
| 251 | |
Daniel Dunbar | 8ff5b28 | 2009-12-11 23:00:49 +0000 | [diff] [blame] | 252 | // This isn't normally used, it is just here so we can parse a |
| 253 | // CompilerInvocation out of a driver-derived argument vector. |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 254 | def cc1 : Flag<["-"], "cc1">; |
Daniel Dunbar | 8ff5b28 | 2009-12-11 23:00:49 +0000 | [diff] [blame] | 255 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 256 | def ast_merge : Separate<["-"], "ast-merge">, |
Douglas Gregor | 9bed879 | 2010-02-09 19:21:46 +0000 | [diff] [blame] | 257 | MetaVarName<"<ast file>">, |
| 258 | HelpText<"Merge the given AST file into the translation unit being compiled.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 259 | def code_completion_at : Separate<["-"], "code-completion-at">, |
Daniel Dunbar | b737fb1 | 2009-12-03 07:01:46 +0000 | [diff] [blame] | 260 | MetaVarName<"<file>:<line>:<column>">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 261 | HelpText<"Dump code-completion information at a location">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 262 | def remap_file : Separate<["-"], "remap-file">, |
Daniel Dunbar | e14b5f5 | 2009-12-03 05:11:16 +0000 | [diff] [blame] | 263 | MetaVarName<"<from>;<to>">, |
| 264 | HelpText<"Replace the contents of the <from> file with the contents of the <to> file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 265 | def code_completion_at_EQ : Joined<["-"], "code-completion-at=">, |
Daniel Dunbar | ce6bf1e | 2009-11-29 09:32:20 +0000 | [diff] [blame] | 266 | Alias<code_completion_at>; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 267 | def code_completion_macros : Flag<["-"], "code-completion-macros">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 268 | HelpText<"Include macros in code-completion results">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 269 | def code_completion_patterns : Flag<["-"], "code-completion-patterns">, |
Douglas Gregor | d8e8a58 | 2010-05-25 21:41:55 +0000 | [diff] [blame] | 270 | HelpText<"Include code patterns in code-completion results">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 271 | def no_code_completion_globals : Flag<["-"], "no-code-completion-globals">, |
Douglas Gregor | 8071e42 | 2010-08-15 06:18:01 +0000 | [diff] [blame] | 272 | HelpText<"Do not include global declarations in code-completion results.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 273 | def code_completion_brief_comments : Flag<["-"], "code-completion-brief-comments">, |
Dmitri Gribenko | d99ef53 | 2012-07-02 17:35:10 +0000 | [diff] [blame] | 274 | HelpText<"Include brief documentation comments in code-completion results.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 275 | def disable_free : Flag<["-"], "disable-free">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 276 | HelpText<"Disable freeing of memory on exit">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 277 | def load : Separate<["-"], "load">, MetaVarName<"<dsopath>">, |
Daniel Dunbar | efba227 | 2009-12-03 05:11:05 +0000 | [diff] [blame] | 278 | HelpText<"Load the named plugin (dynamic shared object)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 279 | def plugin : Separate<["-"], "plugin">, MetaVarName<"<name>">, |
Nico Weber | 5aa74af | 2011-01-25 20:34:14 +0000 | [diff] [blame] | 280 | HelpText<"Use the named plugin action instead of the default action (use \"help\" to list available options)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 281 | def plugin_arg : JoinedAndSeparate<["-"], "plugin-arg-">, |
Daniel Dunbar | 3177aae | 2010-06-16 16:59:23 +0000 | [diff] [blame] | 282 | MetaVarName<"<name> <arg>">, |
| 283 | HelpText<"Pass <arg> to plugin <name>">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 284 | def add_plugin : Separate<["-"], "add-plugin">, MetaVarName<"<name>">, |
Nico Weber | 5aa74af | 2011-01-25 20:34:14 +0000 | [diff] [blame] | 285 | HelpText<"Use the named plugin action in addition to the default action">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 286 | def version : Flag<["-"], "version">, |
Daniel Dunbar | 9b5e9ae | 2009-12-03 07:01:58 +0000 | [diff] [blame] | 287 | HelpText<"Print the compiler version">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 288 | def ast_dump_filter : Separate<["-"], "ast-dump-filter">, |
Alexander Kornienko | e34a052 | 2012-07-26 16:01:23 +0000 | [diff] [blame] | 289 | MetaVarName<"<dump_filter>">, |
| 290 | HelpText<"Use with -ast-dump or -ast-print to dump/print only AST declaration" |
Alexander Kornienko | 171af64 | 2012-07-31 09:37:40 +0000 | [diff] [blame] | 291 | " nodes having a certain substring in a qualified name. Use" |
| 292 | " -ast-list to list all filterable declaration node names.">; |
Richard Smith | ab297cc | 2013-06-24 01:45:33 +0000 | [diff] [blame] | 293 | def ast_dump_lookups : Flag<["-"], "ast-dump-lookups">, |
| 294 | HelpText<"Include name lookup table dumps in AST dumps">; |
Douglas Gregor | 20c6f2e | 2013-01-28 18:38:02 +0000 | [diff] [blame] | 295 | def fno_modules_global_index : Flag<["-"], "fno-modules-global-index">, |
| 296 | HelpText<"Do not automatically generate or update the global module index">; |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 297 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 298 | let Group = Action_Group in { |
| 299 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 300 | def Eonly : Flag<["-"], "Eonly">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 301 | HelpText<"Just run preprocessor, no output (for timings)">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 302 | def dump_raw_tokens : Flag<["-"], "dump-raw-tokens">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 303 | HelpText<"Lex file in raw mode and dump raw tokens">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 304 | def analyze : Flag<["-"], "analyze">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 305 | HelpText<"Run static analysis engine">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 306 | def dump_tokens : Flag<["-"], "dump-tokens">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 307 | HelpText<"Run preprocessor, dump internal rep of tokens">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 308 | def init_only : Flag<["-"], "init-only">, |
Daniel Dunbar | 2758595 | 2010-03-19 19:44:04 +0000 | [diff] [blame] | 309 | HelpText<"Only execute frontend initialization">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 310 | def fixit : Flag<["-"], "fixit">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 311 | HelpText<"Apply fix-it advice to the input source">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 312 | def fixit_EQ : Joined<["-"], "fixit=">, |
Nick Lewycky | ba5f6ec | 2010-04-24 01:30:46 +0000 | [diff] [blame] | 313 | HelpText<"Apply fix-it advice creating a file with the given suffix">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 314 | def print_preamble : Flag<["-"], "print-preamble">, |
Douglas Gregor | f033f1d | 2010-07-20 20:18:03 +0000 | [diff] [blame] | 315 | HelpText<"Print the \"preamble\" of a file, which is a candidate for implicit" |
| 316 | " precompiled headers.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 317 | def emit_html : Flag<["-"], "emit-html">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 318 | HelpText<"Output input source as HTML">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 319 | def ast_print : Flag<["-"], "ast-print">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 320 | HelpText<"Build ASTs and then pretty-print them">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 321 | def ast_list : Flag<["-"], "ast-list">, |
Alexander Kornienko | 171af64 | 2012-07-31 09:37:40 +0000 | [diff] [blame] | 322 | HelpText<"Build ASTs and print the list of declaration node qualified names">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 323 | def ast_dump : Flag<["-"], "ast-dump">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 324 | HelpText<"Build ASTs and then debug dump them">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 325 | def ast_dump_xml : Flag<["-"], "ast-dump-xml">, |
John McCall | f351424 | 2010-11-24 11:21:45 +0000 | [diff] [blame] | 326 | HelpText<"Build ASTs and then debug dump them in a verbose XML format">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 327 | def ast_view : Flag<["-"], "ast-view">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 328 | HelpText<"Build ASTs and view them with GraphViz">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 329 | def print_decl_contexts : Flag<["-"], "print-decl-contexts">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 330 | HelpText<"Print DeclContexts and their Decls">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 331 | def emit_module : Flag<["-"], "emit-module">, |
Douglas Gregor | 6649014 | 2011-11-29 22:42:06 +0000 | [diff] [blame] | 332 | HelpText<"Generate pre-compiled module file from a module map">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 333 | def emit_pth : Flag<["-"], "emit-pth">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 334 | HelpText<"Generate pre-tokenized header file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 335 | def emit_pch : Flag<["-"], "emit-pch">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 336 | HelpText<"Generate pre-compiled header file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 337 | def emit_llvm_bc : Flag<["-"], "emit-llvm-bc">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 338 | HelpText<"Build ASTs then convert to LLVM, emit .bc file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 339 | def emit_llvm_only : Flag<["-"], "emit-llvm-only">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 340 | HelpText<"Build ASTs and convert to LLVM, discarding output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 341 | def emit_codegen_only : Flag<["-"], "emit-codegen-only">, |
Daniel Dunbar | 32148ce | 2010-05-25 18:41:01 +0000 | [diff] [blame] | 342 | HelpText<"Generate machine code, but discard output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 343 | def emit_obj : Flag<["-"], "emit-obj">, |
Daniel Dunbar | da1573f | 2010-02-03 01:18:43 +0000 | [diff] [blame] | 344 | HelpText<"Emit native object files">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 345 | def rewrite_test : Flag<["-"], "rewrite-test">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 346 | HelpText<"Rewriter playground">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 347 | def rewrite_macros : Flag<["-"], "rewrite-macros">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 348 | HelpText<"Expand macros without full preprocessing">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 349 | def migrate : Flag<["-"], "migrate">, |
Ted Kremenek | 30660a8 | 2012-03-06 20:06:33 +0000 | [diff] [blame] | 350 | HelpText<"Migrate source code">; |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 351 | } |
| 352 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 353 | def mt_migrate_directory : Separate<["-"], "mt-migrate-directory">, |
Ted Kremenek | 30660a8 | 2012-03-06 20:06:33 +0000 | [diff] [blame] | 354 | HelpText<"Directory for temporary files produced during ARC or ObjC migration">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 355 | def arcmt_check : Flag<["-"], "arcmt-check">, |
John McCall | f85e193 | 2011-06-15 23:02:42 +0000 | [diff] [blame] | 356 | HelpText<"Check for ARC migration issues that need manual handling">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 357 | def arcmt_modify : Flag<["-"], "arcmt-modify">, |
John McCall | f85e193 | 2011-06-15 23:02:42 +0000 | [diff] [blame] | 358 | HelpText<"Apply modifications to files to conform to ARC">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 359 | def arcmt_migrate : Flag<["-"], "arcmt-migrate">, |
Argyrios Kyrtzidis | 69325d5 | 2011-07-09 20:00:58 +0000 | [diff] [blame] | 360 | HelpText<"Apply modifications and produces temporary files that conform to ARC">; |
Argyrios Kyrtzidis | 389db16 | 2010-11-03 22:45:23 +0000 | [diff] [blame] | 361 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 362 | def relocatable_pch : Flag<["-", "--"], "relocatable-pch">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 363 | HelpText<"Whether to build a relocatable precompiled header">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 364 | def print_stats : Flag<["-"], "print-stats">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 365 | HelpText<"Print performance metrics and statistics">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 366 | def fdump_record_layouts : Flag<["-"], "fdump-record-layouts">, |
Daniel Dunbar | b69eca5 | 2010-04-08 02:59:56 +0000 | [diff] [blame] | 367 | HelpText<"Dump record layout information">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 368 | def fdump_record_layouts_simple : Flag<["-"], "fdump-record-layouts-simple">, |
Douglas Gregor | 453dbcb | 2012-01-26 07:55:45 +0000 | [diff] [blame] | 369 | HelpText<"Dump record layout information in a simple form used for testing">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 370 | def fix_what_you_can : Flag<["-"], "fix-what-you-can">, |
Nick Lewycky | 1450f26 | 2010-08-13 17:31:00 +0000 | [diff] [blame] | 371 | HelpText<"Apply fix-it advice even in the presence of unfixable errors">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 372 | def fix_only_warnings : Flag<["-"], "fix-only-warnings">, |
Argyrios Kyrtzidis | 61d679a | 2012-01-26 02:40:48 +0000 | [diff] [blame] | 373 | HelpText<"Apply fix-it advice only for warnings, not errors">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 374 | def fixit_recompile : Flag<["-"], "fixit-recompile">, |
Argyrios Kyrtzidis | 61d679a | 2012-01-26 02:40:48 +0000 | [diff] [blame] | 375 | HelpText<"Apply fix-it changes and recompile">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 376 | def fixit_to_temp : Flag<["-"], "fixit-to-temporary">, |
Argyrios Kyrtzidis | 61d679a | 2012-01-26 02:40:48 +0000 | [diff] [blame] | 377 | HelpText<"Apply fix-it changes to temporary files">; |
Daniel Dunbar | b69eca5 | 2010-04-08 02:59:56 +0000 | [diff] [blame] | 378 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 379 | def foverride_record_layout_EQ : Joined<["-"], "foverride-record-layout=">, |
Douglas Gregor | 453dbcb | 2012-01-26 07:55:45 +0000 | [diff] [blame] | 380 | HelpText<"Override record layouts with those in the given file">; |
| 381 | |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 382 | //===----------------------------------------------------------------------===// |
| 383 | // Language Options |
| 384 | //===----------------------------------------------------------------------===// |
| 385 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 386 | def fblocks_runtime_optional : Flag<["-"], "fblocks-runtime-optional">, |
John McCall | 13db5cf | 2011-09-09 20:41:01 +0000 | [diff] [blame] | 387 | HelpText<"Weakly link in the blocks runtime">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 388 | def fsjlj_exceptions : Flag<["-"], "fsjlj-exceptions">, |
Daniel Dunbar | 7348288 | 2010-02-10 18:48:44 +0000 | [diff] [blame] | 389 | HelpText<"Use SjLj style exceptions">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 390 | def fhidden_weak_vtables : Flag<["-"], "fhidden-weak-vtables">, |
John McCall | 279b5eb | 2010-08-12 23:36:15 +0000 | [diff] [blame] | 391 | HelpText<"Generate weak vtables and RTTI with hidden visibility">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 392 | def main_file_name : Separate<["-"], "main-file-name">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 393 | HelpText<"Main file name to use for debug info">; |
Eric Christopher | 8019039 | 2013-02-22 20:12:52 +0000 | [diff] [blame] | 394 | def split_dwarf_file : Separate<["-"], "split-dwarf-file">, |
| 395 | HelpText<"File name to use for split dwarf debug info output">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 396 | def fno_signed_char : Flag<["-"], "fno-signed-char">, |
Daniel Dunbar | efb0fa9 | 2010-03-20 04:15:41 +0000 | [diff] [blame] | 397 | HelpText<"Char is unsigned">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 398 | def fno_wchar : Flag<["-"], "fno-wchar">, |
Abramo Bagnara | 5b86ffd | 2012-09-05 17:30:57 +0000 | [diff] [blame] | 399 | HelpText<"Disable C++ builtin type wchar_t">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 400 | def fconstant_string_class : Separate<["-"], "fconstant-string-class">, |
Daniel Dunbar | b737fb1 | 2009-12-03 07:01:46 +0000 | [diff] [blame] | 401 | MetaVarName<"<class name>">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 402 | HelpText<"Specify the class to use for constant Objective-C string objects.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 403 | def fobjc_arc_cxxlib_EQ : Joined<["-"], "fobjc-arc-cxxlib=">, |
John McCall | f85e193 | 2011-06-15 23:02:42 +0000 | [diff] [blame] | 404 | HelpText<"Objective-C++ Automatic Reference Counting standard library kind">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 405 | def fobjc_runtime_has_weak : Flag<["-"], "fobjc-runtime-has-weak">, |
John McCall | 9f084a3 | 2011-07-06 00:26:06 +0000 | [diff] [blame] | 406 | HelpText<"The target Objective-C runtime supports ARC weak operations">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 407 | def fobjc_dispatch_method_EQ : Joined<["-"], "fobjc-dispatch-method=">, |
Daniel Dunbar | f643b9b | 2010-04-24 17:56:46 +0000 | [diff] [blame] | 408 | HelpText<"Objective-C dispatch method to use">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 409 | def fobjc_default_synthesize_properties : Flag<["-"], "fobjc-default-synthesize-properties">, |
Ted Kremenek | c32647d | 2010-12-23 21:35:43 +0000 | [diff] [blame] | 410 | HelpText<"enable the default synthesis of Objective-C properties">; |
Fariborz Jahanian | 3d145f6 | 2012-11-15 19:02:45 +0000 | [diff] [blame] | 411 | def fencode_extended_block_signature : Flag<["-"], "fencode-extended-block-signature">, |
| 412 | HelpText<"enable extended encoding of block type signature">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 413 | def pic_level : Separate<["-"], "pic-level">, |
Daniel Dunbar | b737fb1 | 2009-12-03 07:01:46 +0000 | [diff] [blame] | 414 | HelpText<"Value for __PIC__">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 415 | def pie_level : Separate<["-"], "pie-level">, |
Chandler Carruth | 5e219cf | 2012-04-08 16:40:35 +0000 | [diff] [blame] | 416 | HelpText<"Value for __PIE__">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 417 | def fno_validate_pch : Flag<["-"], "fno-validate-pch">, |
Douglas Gregor | fae3b2f | 2010-07-27 00:27:13 +0000 | [diff] [blame] | 418 | HelpText<"Disable validation of precompiled headers">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 419 | def dump_deserialized_pch_decls : Flag<["-"], "dump-deserialized-decls">, |
Argyrios Kyrtzidis | b972858 | 2010-10-14 20:14:18 +0000 | [diff] [blame] | 420 | HelpText<"Dump declarations that are deserialized from PCH, for testing">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 421 | def error_on_deserialized_pch_decl : Separate<["-"], "error-on-deserialized-decl">, |
Argyrios Kyrtzidis | 3e78593 | 2010-10-14 20:14:25 +0000 | [diff] [blame] | 422 | HelpText<"Emit error if a specific declaration is deserialized from PCH, for testing">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 423 | def error_on_deserialized_pch_decl_EQ : Joined<["-"], "error-on-deserialized-decl=">, |
Argyrios Kyrtzidis | 9a8cbc7 | 2011-10-28 22:54:24 +0000 | [diff] [blame] | 424 | Alias<error_on_deserialized_pch_decl>; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 425 | def static_define : Flag<["-"], "static-define">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 426 | HelpText<"Should __STATIC__ be defined">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 427 | def stack_protector : Separate<["-"], "stack-protector">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 428 | HelpText<"Enable stack protectors">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 429 | def stack_protector_buffer_size : Separate<["-"], "stack-protector-buffer-size">, |
Chad Rosier | a7afeb0 | 2012-08-21 16:16:06 +0000 | [diff] [blame] | 430 | HelpText<"Lower bound for a buffer to be considered for stack protection">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 431 | def fvisibility : Separate<["-"], "fvisibility">, |
John McCall | a880b19 | 2013-02-19 01:57:35 +0000 | [diff] [blame] | 432 | HelpText<"Default type and symbol visibility">; |
| 433 | def ftype_visibility : Separate<["-"], "ftype-visibility">, |
| 434 | HelpText<"Default type visibility">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 435 | def ftemplate_depth : Separate<["-"], "ftemplate-depth">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 436 | HelpText<"Maximum depth of recursive template instantiation">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 437 | def fconstexpr_depth : Separate<["-"], "fconstexpr-depth">, |
Richard Smith | c18c423 | 2011-11-21 19:36:32 +0000 | [diff] [blame] | 438 | HelpText<"Maximum depth of recursive constexpr function calls">; |
Richard Smith | e756563 | 2013-05-08 02:12:03 +0000 | [diff] [blame] | 439 | def fconstexpr_steps : Separate<["-"], "fconstexpr-steps">, |
| 440 | HelpText<"Maximum number of steps in constexpr function evaluation">; |
Richard Smith | 9e738cc | 2013-02-22 01:59:51 +0000 | [diff] [blame] | 441 | def fbracket_depth : Separate<["-"], "fbracket-depth">, |
| 442 | HelpText<"Maximum nesting level for parentheses, brackets, and braces">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 443 | def fconst_strings : Flag<["-"], "fconst-strings">, |
Chandler Carruth | 50465d1 | 2011-04-23 06:30:43 +0000 | [diff] [blame] | 444 | HelpText<"Use a const qualified type for string literals in C and ObjC">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 445 | def fno_const_strings : Flag<["-"], "fno-const-strings">, |
Chandler Carruth | 50465d1 | 2011-04-23 06:30:43 +0000 | [diff] [blame] | 446 | HelpText<"Don't use a const qualified type for string literals in C and ObjC">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 447 | def fno_bitfield_type_align : Flag<["-"], "fno-bitfield-type-align">, |
Daniel Dunbar | fb937b8 | 2010-04-15 15:06:22 +0000 | [diff] [blame] | 448 | HelpText<"Ignore bit-field types when aligning structures">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 449 | def ffake_address_space_map : Flag<["-"], "ffake-address-space-map">, |
Peter Collingbourne | 207f4d8 | 2011-03-18 22:38:29 +0000 | [diff] [blame] | 450 | HelpText<"Use a fake address space map; OpenCL testing purposes only">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 451 | def funknown_anytype : Flag<["-"], "funknown-anytype">, |
John McCall | a5fc472 | 2011-04-09 22:50:59 +0000 | [diff] [blame] | 452 | HelpText<"Enable parser support for the __unknown_anytype type; for testing purposes only">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 453 | def fdebugger_support : Flag<["-"], "fdebugger-support">, |
John McCall | 48218c6 | 2011-07-13 17:56:40 +0000 | [diff] [blame] | 454 | HelpText<"Enable special debugger support behavior">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 455 | def fdebugger_cast_result_to_id : Flag<["-"], "fdebugger-cast-result-to-id">, |
Sean Callanan | 50a9a12 | 2012-02-04 01:29:37 +0000 | [diff] [blame] | 456 | HelpText<"Enable casting unknown expression results to id">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 457 | def fdebugger_objc_literal : Flag<["-"], "fdebugger-objc-literal">, |
Jordan Rose | b13291a | 2012-07-19 18:10:18 +0000 | [diff] [blame] | 458 | HelpText<"Enable special debugger support for Objective-C subscripting and literals">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 459 | def fdeprecated_macro : Flag<["-"], "fdeprecated-macro">, |
Chandler Carruth | f8c247d | 2011-04-23 19:48:40 +0000 | [diff] [blame] | 460 | HelpText<"Defines the __DEPRECATED macro">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 461 | def fno_deprecated_macro : Flag<["-"], "fno-deprecated-macro">, |
Chandler Carruth | f8c247d | 2011-04-23 19:48:40 +0000 | [diff] [blame] | 462 | HelpText<"Undefines the __DEPRECATED macro">; |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 463 | |
| 464 | //===----------------------------------------------------------------------===// |
| 465 | // Header Search Options |
| 466 | //===----------------------------------------------------------------------===// |
| 467 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 468 | def nostdsysteminc : Flag<["-"], "nostdsysteminc">, |
Daniel Dunbar | a268fc0 | 2011-10-11 18:20:10 +0000 | [diff] [blame] | 469 | HelpText<"Disable standard system #include directories">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 470 | def fmodule_name : Joined<["-"], "fmodule-name=">, |
Douglas Gregor | b86b8dc | 2011-11-15 19:35:01 +0000 | [diff] [blame] | 471 | MetaVarName<"<name>">, |
| 472 | HelpText<"Specify the name of the module to build">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 473 | def fdisable_module_hash : Flag<["-"], "fdisable-module-hash">, |
Douglas Gregor | 6e975c4 | 2011-09-13 23:15:45 +0000 | [diff] [blame] | 474 | HelpText<"Disable the module hash">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 475 | def c_isystem : JoinedOrSeparate<["-"], "c-isystem">, MetaVarName<"<directory>">, |
Benjamin Kramer | 47adebe | 2011-09-22 21:41:16 +0000 | [diff] [blame] | 476 | HelpText<"Add directory to the C SYSTEM include search path">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 477 | def objc_isystem : JoinedOrSeparate<["-"], "objc-isystem">, |
Benjamin Kramer | 47adebe | 2011-09-22 21:41:16 +0000 | [diff] [blame] | 478 | MetaVarName<"<directory>">, |
| 479 | HelpText<"Add directory to the ObjC SYSTEM include search path">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 480 | def objcxx_isystem : JoinedOrSeparate<["-"], "objcxx-isystem">, |
Benjamin Kramer | 47adebe | 2011-09-22 21:41:16 +0000 | [diff] [blame] | 481 | MetaVarName<"<directory>">, |
| 482 | HelpText<"Add directory to the ObjC++ SYSTEM include search path">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 483 | def internal_isystem : JoinedOrSeparate<["-"], "internal-isystem">, |
Chandler Carruth | ac2bc4d | 2011-11-05 08:30:29 +0000 | [diff] [blame] | 484 | MetaVarName<"<directory>">, |
| 485 | HelpText<"Add directory to the internal system include search path; these " |
| 486 | "are assumed to not be user-provided and are used to model system " |
| 487 | "and standard headers' paths.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 488 | def internal_externc_isystem : JoinedOrSeparate<["-"], "internal-externc-isystem">, |
Chandler Carruth | ac2bc4d | 2011-11-05 08:30:29 +0000 | [diff] [blame] | 489 | MetaVarName<"<directory>">, |
| 490 | HelpText<"Add directory to the internal system include search path with " |
| 491 | "implicit extern \"C\" semantics; these are assumed to not be " |
| 492 | "user-provided and are used to model system and standard headers' " |
| 493 | "paths.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 494 | def isystem_prefix : JoinedOrSeparate<["-"], "isystem-prefix">, |
Richard Smith | f122a13 | 2012-06-13 20:27:03 +0000 | [diff] [blame] | 495 | MetaVarName<"<prefix>">, |
| 496 | HelpText<"Treat all #include paths starting with <prefix> as including a " |
| 497 | "system header.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 498 | def ino_system_prefix : JoinedOrSeparate<["-"], "ino-system-prefix">, |
Richard Smith | f122a13 | 2012-06-13 20:27:03 +0000 | [diff] [blame] | 499 | MetaVarName<"<prefix>">, |
| 500 | HelpText<"Treat all #include paths starting with <prefix> as not including a " |
| 501 | "system header.">; |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 502 | |
| 503 | //===----------------------------------------------------------------------===// |
| 504 | // Preprocessor Options |
| 505 | //===----------------------------------------------------------------------===// |
| 506 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 507 | def include_pth : Separate<["-"], "include-pth">, MetaVarName<"<file>">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 508 | HelpText<"Include file before parsing">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 509 | def chain_include : Separate<["-"], "chain-include">, MetaVarName<"<file>">, |
Argyrios Kyrtzidis | b0f4b9a | 2011-03-09 17:21:42 +0000 | [diff] [blame] | 510 | HelpText<"Include and chain a header file after turning it into PCH">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 511 | def preamble_bytes_EQ : Joined<["-"], "preamble-bytes=">, |
Douglas Gregor | 3d398aa | 2010-07-26 16:29:14 +0000 | [diff] [blame] | 512 | HelpText<"Assume that the precompiled header is a precompiled preamble " |
| 513 | "covering the first N bytes of the main file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 514 | def token_cache : Separate<["-"], "token-cache">, MetaVarName<"<path>">, |
Daniel Dunbar | 33a33d8 | 2009-11-24 00:54:16 +0000 | [diff] [blame] | 515 | HelpText<"Use specified token cache file">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 516 | def detailed_preprocessing_record : Flag<["-"], "detailed-preprocessing-record">, |
Douglas Gregor | 94dc8f6 | 2010-03-19 16:15:56 +0000 | [diff] [blame] | 517 | HelpText<"include a detailed record of preprocessing actions">; |
Peter Collingbourne | 61e0786 | 2010-12-04 01:50:45 +0000 | [diff] [blame] | 518 | |
| 519 | //===----------------------------------------------------------------------===// |
| 520 | // OpenCL Options |
| 521 | //===----------------------------------------------------------------------===// |
| 522 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 523 | def cl_opt_disable : Flag<["-"], "cl-opt-disable">, |
Peter Collingbourne | 61e0786 | 2010-12-04 01:50:45 +0000 | [diff] [blame] | 524 | HelpText<"OpenCL only. This option disables all optimizations. The default is optimizations are enabled.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 525 | def cl_single_precision_constant : Flag<["-"], "cl-single-precision-constant">, |
Peter Collingbourne | 0982136 | 2010-12-04 01:50:56 +0000 | [diff] [blame] | 526 | HelpText<"OpenCL only. Treat double precision floating-point constant as single precision constant.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 527 | def cl_finite_math_only : Flag<["-"], "cl-finite-math-only">, |
Peter Collingbourne | 5d729a3 | 2010-12-04 01:51:05 +0000 | [diff] [blame] | 528 | HelpText<"OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 529 | def cl_unsafe_math_optimizations : Flag<["-"], "cl-unsafe-math-optimizations">, |
Peter Collingbourne | 5f67e13 | 2010-12-04 01:51:14 +0000 | [diff] [blame] | 530 | HelpText<"OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 531 | def cl_fast_relaxed_math : Flag<["-"], "cl-fast-relaxed-math">, |
Peter Collingbourne | f084082 | 2010-12-04 01:51:23 +0000 | [diff] [blame] | 532 | HelpText<"OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 533 | def cl_mad_enable : Flag<["-"], "cl-mad-enable">, |
Peter Collingbourne | 4400cb8 | 2010-12-04 01:51:33 +0000 | [diff] [blame] | 534 | HelpText<"OpenCL only. Enable less precise MAD instructions to be generated.">; |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 535 | def cl_std_EQ : Joined<["-"], "cl-std=">, |
Peter Collingbourne | 91252d1 | 2010-12-04 01:51:40 +0000 | [diff] [blame] | 536 | HelpText<"OpenCL language standard to compile for">; |
Peter Collingbourne | d51e43a | 2011-10-06 18:29:46 +0000 | [diff] [blame] | 537 | |
| 538 | //===----------------------------------------------------------------------===// |
| 539 | // CUDA Options |
| 540 | //===----------------------------------------------------------------------===// |
| 541 | |
Michael J. Spencer | c635710 | 2012-10-22 22:13:48 +0000 | [diff] [blame] | 542 | def fcuda_is_device : Flag<["-"], "fcuda-is-device">, |
Peter Collingbourne | d51e43a | 2011-10-06 18:29:46 +0000 | [diff] [blame] | 543 | HelpText<"Generate code for CUDA device">; |
James Molloy | bfd7a52 | 2012-05-01 14:57:16 +0000 | [diff] [blame] | 544 | |
| 545 | } // let Flags = [CC1Option] |