CC1Options.td revision e2814d89025b847ad7363b21e3e053bbae180b54
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 148adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// Include the common option parsing interfaces. 158adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbarinclude "OptParser.td" 168adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar 178adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar// Target Options 188adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar 198adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbardef target_abi : Separate<"-target-abi">, 208adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Target a particular ABI type">; 2131db76cb2dde031ab3262808ac233889daf7d720Daniel Dunbardef mcpu : Separate<"-mcpu">, 22a31100e62f83933432df9092a04e48f9e5561a14Daniel Dunbar HelpText<"Target a specific cpu type ('-mcpu help' for details)">; 2331db76cb2dde031ab3262808ac233889daf7d720Daniel Dunbardef target_feature : Separate<"-target-feature">, 248adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Target specific attributes">; 2531db76cb2dde031ab3262808ac233889daf7d720Daniel Dunbardef triple : Separate<"-triple">, 268adfcff02334455b6f95bc4e1f347204f7c0dd3eDaniel Dunbar HelpText<"Specify target triple (e.g. i686-apple-darwin9)">; 2750a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar 28e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar// Analyzer Options 29e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 30e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_CFGDump : Flag<"-cfg-dump">, 31e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Display Control-Flow Graphs">; 32e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_CFGView : Flag<"-cfg-view">, 33e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"View Control-Flow Graphs using GraphViz">; 34e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_DisplayLiveVariables : Flag<"-dump-live-variables">, 35e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Print results of live variable analysis">; 36e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_SecuritySyntacticChecks : Flag<"-warn-security-syntactic">, 37e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Perform quick security checks that require no data flow">; 38e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnDeadStores : Flag<"-warn-dead-stores">, 39e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about stores to dead variables">; 40e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnUninitVals : Flag<"-warn-uninit-values">, 41e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about uses of uninitialized variables">; 42e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnObjCMethSigs : Flag<"-warn-objc-methodsigs">, 43e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about Objective-C method signatures with type incompatibilities">; 44e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnObjCDealloc : Flag<"-warn-objc-missing-dealloc">, 45e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about Objective-C classes that lack a correct implementation of -dealloc">; 46e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnObjCUnusedIvars : Flag<"-warn-objc-unused-ivars">, 47e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about private ivars that are never used">; 48e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_CheckerCFRef : Flag<"-checker-cfref">, 49e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Run the [Core] Foundation reference count checker">; 50e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_WarnSizeofPointer : Flag<"-warn-sizeof-pointer">, 51e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Warn about unintended use of sizeof() on pointer expressions">; 52e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analysis_InlineCall : Flag<"-inline-call">, 53e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Experimental transfer function inling callees when its definition is available.">; 54e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 55e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_store : Separate<"-analyzer-store">, 56e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Abstract Memory Store Models">; 57e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_store_EQ : Joined<"-analyzer-store=">, Alias<analyzer_store>; 58e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 59e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_constraints : Separate<"-analyzer-constraints">, 60e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Symbolic Constraint Engines">; 61e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_constraints_EQ : Joined<"-analyzer-constraints=">, 62e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar Alias<analyzer_constraints>; 63e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 64e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_output : Separate<"-analyzer-output">, 65e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Source Code Analysis - Output Options">; 66e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_output_EQ : Joined<"-analyzer-output=">, 67e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar Alias<analyzer_output>; 68e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 69e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_opt_analyze_headers : Flag<"-analyzer-opt-analyze-headers">, 70e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Force the static analyzer to analyze functions defined in header files">; 71e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_display_progress : Flag<"-analyzer-display-progress">, 72e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Emit verbose output about the analyzer's progress">; 73e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_experimental_checks : Flag<"-analyzer-experimental-checks">, 74e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Use experimental path-sensitive checks">; 75e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_experimental_internal_checks : 76e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar Flag<"-analyzer-experimental-internal-checks">, 77e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Use new default path-sensitive checks currently in testing">; 78e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyze_function : Separate<"-analyze-function">, 79e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Run analysis on specific function">; 80e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyze_function_EQ : Joined<"-analyze-function=">, Alias<analyze_function>; 81e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_eagerly_assume : Flag<"-analyzer-eagerly-assume">, 82e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Eagerly assume the truth/falseness of some symbolic constraints">; 83e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_no_purge_dead : Flag<"-analyzer-no-purge-dead">, 84e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Don't remove dead symbols, bindings, and constraints before processing a statement">; 85e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef trim_egraph : Flag<"-trim-egraph">, 86e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Only show error-related paths in the analysis graph">; 87e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_viz_egraph_graphviz : Flag<"-analyzer-viz-egraph-graphviz">, 88e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Display exploded graph using GraphViz">; 89e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbardef analyzer_viz_egraph_ubigraph : Flag<"-analyzer-viz-egraph-ubigraph">, 90e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar HelpText<"Display exploded graph using Ubigraph">; 91e2814d89025b847ad7363b21e3e053bbae180b54Daniel Dunbar 9250a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar// CodeGen Options 9350a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar 9450a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef disable_llvm_optzns : Flag<"-disable-llvm-optzns">, 9550a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Don't run LLVM optimization passes">; 9650a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef disable_red_zone : Flag<"-disable-red-zone">, 9750a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Do not emit code that uses the red zone.">; 9850a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef g : Flag<"-g">, HelpText<"Generate source level debug information">; 9950a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef fno_common : Flag<"-fno-common">, 10050a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Compile common globals like normal definitions">; 10150a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef no_implicit_float : Flag<"-no-implicit-float">, 10250a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Don't generate implicit floating point instructions (x86-only)">; 10350a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef fno_merge_all_constants : Flag<"-fno-merge-all-constants">, 10450a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbar HelpText<"Disallow merging of constants.">; 10550a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef O : Joined<"-O">, HelpText<"Optimization level">; 10650a4487683a7e09fb93e8b506181e034241a0ffeDaniel Dunbardef Os : Flag<"-Os">, HelpText<"Optimize for size">; 1071bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar 1081bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar// Dependency Output Options 1091bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbardef dependency_file : Separate<"-dependency-file">, 1101bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar HelpText<"Filename (or -) to write dependency output to">; 1111bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbardef sys_header_deps : Flag<"-sys-header-deps">, 1121bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar HelpText<"Include system headers in dependency output">; 1131bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbardef MT : Separate<"-MT">, HelpText<"Specify target for dependency">; 1141bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbardef MP : Flag<"-MP">, 1151bed0c3a555d9e32de9dead55658b4a28a4d6e03Daniel Dunbar HelpText<"Create phony target for each dependency (other than main file)">; 116