Provided by: castxml_0.1+git20180702-1_amd64 bug

NAME

       castxml - Create an XML representation of C++ declarations

SYNOPSIS

       castxml ( <castxml-opt> | <clang-opt> | <src> )...

DESCRIPTION

              Options  interpreted  by  castxml are listed below.  Remaining options are given to
              the internal Clang compiler.

OPTIONS

       --castxml-cc-<id> <cc>

       --castxml-cc-<id> "(" <cc> <cc-opt>... ")"

              Configure the internal Clang preprocessor and target platform to match that of  the
              given  compiler  command.   The  <id>  must be "gnu", "msvc", "gnu-c", or "msvc-c".
              <cc> names a compiler (e.g. "gcc")  and  <cc-opt>...  specifies  options  that  may
              affect its target (e.g. "-m32").

       --castxml-output=<v>

              Write  castxml-format  output  to <src>.xml or file named by '-o' The <v> specifies
              the "epic" format version number to generate, and must be '1'.

       --castxml-gccxml

              Write gccxml-format output to <src>.xml or file named by '-o' Use  this  option  if
              you need an output similar to the one generated by the legacy gccxml tool.

       --castxml-start <name>[,<name>]...

              Start AST traversal at declaration(s) with the given (qualified) name(s).  Multiple
              names may be specified as a comma-separated list or by repeating the option.

       -help, --help

              Print castxml and internal Clang compiler usage information

       -o <file>

              Write output to <file>

       --version

              Print castxml and internal Clang compiler version information

       Help for the internal Clang compiler appears below.

       ---------------------------------------------------------------

       OVERVIEW: clang LLVM compiler

       USAGE: clang [options] <inputs>

   OPTIONS:
       -###   Print (but do not run) the commands to run for this compilation

       --analyzer-output <value>
              Static analyzer report output format (html|plist|plist-multi-file|plist-html|text).

       --analyze
              Run the static analyzer

       -arcmt-migrate-emit-errors
              Emit ARC errors even if the migrator can fix them

       -arcmt-migrate-report-output <value>
              Output path for the plist report

       -B <dir>
              Add <dir> to search path for binaries and object files used implicitly

       -CC    Include comments from within macros in preprocessed output

       -cl-denorms-are-zero
              OpenCL only. Allow denormals to be flushed to zero.

       -cl-fast-relaxed-math
              OpenCL  only.  Sets  -cl-finite-math-only  and  -cl-unsafe-math-optimizations,  and
              defines __FAST_RELAXED_MATH__.

       -cl-finite-math-only
              OpenCL  only.  Allow floating-point optimizations that assume arguments and results
              are not NaNs or +-Inf.

       -cl-fp32-correctly-rounded-divide-sqrt
              OpenCL only. Specify that single precision floating-point divide and sqrt  used  in
              the program source are correctly rounded.

       -cl-kernel-arg-info
              OpenCL only. Generate kernel argument metadata.

       -cl-mad-enable
              OpenCL only. Allow use of less precise MAD computations in the generated binary.

       -cl-no-signed-zeros
              OpenCL  only.  Allow  use  of  less  precise  no  signed  zeros computations in the
              generated binary.

       -cl-opt-disable
              OpenCL only. This option disables all optimizations. By default  optimizations  are
              enabled.

       -cl-single-precision-constant
              OpenCL  only.  Treat  double  precision floating-point constant as single precision
              constant.

       -cl-std=<value>
              OpenCL language standard to compile for.

       -cl-strict-aliasing
              OpenCL only. This option is added for compatibility with OpenCL 1.0.

       -cl-unsafe-math-optimizations
              OpenCL   only.   Allow   unsafe   floating-point   optimizations.    Also   implies
              -cl-no-signed-zeros and -cl-mad-enable.

       --config <value>
              Specifies configuration file

       --cuda-compile-host-device
              Compile  CUDA  code  for both host and device (default).  Has no effect on non-CUDA
              compilations.

       --cuda-device-only
              Compile CUDA code for device only

       --cuda-gpu-arch=<value> CUDA GPU architecture (e.g. sm_35).
              May be specified more than once.

       --cuda-host-only
              Compile CUDA code for host only.  Has no effect on non-CUDA compilations.

       --cuda-noopt-device-debug
              Enable device-side debug info generation. Disables ptxas optimizations.

       --cuda-path=<value>
              CUDA installation path

       -cxx-isystem <directory>
              Add directory to the C++ SYSTEM include search path

       -C     Include comments in preprocessed output

       -c     Only run preprocess, compile, and assemble steps

       -dD    Print macro definitions in -E mode in addition to normal output

       -dependency-dot <value> Filename to write DOT-formatted header dependencies to

       -dependency-file <value>
              Filename (or -) to write dependency output to

       -dI    Print include directives in -E mode in addition to normal output

       -dM    Print macro definitions in -E mode instead of normal output

       -D <macro>=<value>
              Define <macro> to <value> (or 1 if <value> omitted)

       -emit-ast
              Emit Clang AST files for source inputs

       -emit-llvm
              Use the LLVM representation for assembler and object files

       -E     Only run the preprocessor

       -faligned-allocation
              Enable C++17 aligned allocation functions

       -fallow-editor-placeholders
              Treat editor placeholders as valid source code

       -fansi-escape-codes
              Use ANSI escape codes for diagnostics

       -fapple-kext
              Use Apple's kernel extensions ABI

       -fapple-pragma-pack
              Enable Apple gcc-compatible #pragma pack handling

       -fapplication-extension Restrict code to those available for App Extensions

       -fblocks
              Enable the 'blocks' language feature

       -fborland-extensions
              Accept non-standard constructs supported by the Borland compiler

       -fbuild-session-file=<file>
              Use the last modification time of <file> as the build session timestamp

       -fbuild-session-timestamp=<time since Epoch in seconds>
              Time when the current build session started

       -fbuiltin-module-map
              Load the clang builtins module map file.

       -fclang-abi-compat=<version>
              Attempt to match the ABI of Clang <version>

       -fcolor-diagnostics
              Use colors in diagnostics

       -fcomment-block-commands=<arg>
              Treat each comma separated argument in  <arg>  as  a  documentation  comment  block
              command

       -fcoroutines-ts
              Enable support for the C++ Coroutines TS

       -fcoverage-mapping
              Generate coverage mapping to enable code coverage analysis

       -fcuda-approx-transcendentals
              Use approximate transcendental functions

       -fcuda-flush-denormals-to-zero
              Flush denormal floating point values to zero in CUDA device mode.

       -fcxx-exceptions
              Enable C++ exceptions

       -fdata-sections
              Place each data in its own section (ELF Only)

       -fdebug-info-for-profiling
              Emit extra debug info to make sample profile more accurate.

       -fdebug-macro
              Emit macro debug information

       -fdebug-prefix-map=<value>
              remap file source paths in debug info

       -fdebug-types-section
              Place debug types in their own section (ELF Only)

       -fdeclspec
              Allow __declspec as a keyword

       -fdelayed-template-parsing
              Parse templated function definitions at the end of the translation unit

       -fdiagnostics-absolute-paths
              Print absolute paths in diagnostics

       -fdiagnostics-hotness-threshold=<number>
              Prevent  optimization  remarks  from being output if they do not have at least this
              profile count

       -fdiagnostics-parseable-fixits
              Print fix-its in machine parseable form

       -fdiagnostics-print-source-range-info
              Print source range spans in numeric form

       -fdiagnostics-show-hotness
              Enable profile hotness information in diagnostic line

       -fdiagnostics-show-note-include-stack
              Display include stacks for diagnostic notes

       -fdiagnostics-show-option
              Print option name with mappable diagnostics

       -fdiagnostics-show-template-tree
              Print a template comparison tree for differing templates

       -fdollars-in-identifiers
              Allow '$' in identifiers

       -fdouble-square-bracket-attributes
              Enable '[[]]' attributes in all C and C++ language modes

       -fdwarf-exceptions
              Use DWARF style exceptions

       -fembed-bitcode-marker
              Embed placeholder LLVM IR data as a marker

       -fembed-bitcode=<option>
              Embed LLVM bitcode (option: off, all, bitcode, marker)

       -fembed-bitcode
              Embed LLVM IR bitcode as data

       -femit-all-decls
              Emit all declarations, even if unused

       -femulated-tls
              Use emutls functions to access thread_local variables

       -fexceptions
              Enable support for exception handling

       -fexperimental-isel
              Enables the experimental global instruction selector

       -fexperimental-new-pass-manager
              Enables an experimental new pass manager in LLVM.

       -ffast-math
              Allow aggressive, lossy floating-point optimizations

       -ffine-grained-bitfield-accesses
              Use separate accesses for bitfields with legal widths and alignments.

       -ffixed-r9
              Reserve the r9 register (ARM only)

       -ffixed-x18
              Reserve the x18 register (AArch64 only)

       -ffp-contract=<value>
              Form fused FP ops (e.g. FMAs): fast (everywhere) |  on  (according  to  FP_CONTRACT
              pragma, default) | off (never fuse)

       -ffreestanding
              Assert that the compilation takes place in a freestanding environment

       -ffunction-sections
              Place each function in its own section (ELF Only)

       -fgnu-keywords
              Allow GNU-extension keywords regardless of language standard

       -fgnu-runtime
              Generate output compatible with the standard GNU Objective-C runtime

       -fgnu89-inline
              Use the gnu89 inline semantics

       -fimplicit-module-maps
              Implicitly search the file system for module map files.

       -finline-functions
              Inline suitable functions

       -finline-hint-functions  Inline  functions  which  are  (explicitly  or implicitly) marked
              inline

       -finstrument-function-entry-bare
              Instrument  function  entry  only,  after  inlining,  without  arguments   to   the
              instrumentation call

       -finstrument-functions-after-inlining
              Like -finstrument-functions, but insert the calls after inlining

       -finstrument-functions
              Generate calls to instrument function entry and exit

       -fintegrated-as
              Enable the integrated assembler

       -flto-jobs=<value>
              Controls  the  backend  parallelism of -flto=thin (default of 0 means the number of
              threads will be derived from the number of CPUs detected)

       -flto=<value>
              Set LTO mode to either 'full' or 'thin'

       -flto  Enable LTO in 'full' mode

       -fmath-errno
              Require math functions to indicate errors by setting errno

       -fmax-type-align=<value>
              Specify the maximum alignment to enforce on pointers lacking an explicit alignment

       -fmerge-all-constants
              Allow merging of constants

       -fmodule-file=[<name>=]<file>
              Specify the mapping of module name to precompiled module file,  or  load  a  module
              file if name is omitted.

       -fmodule-map-file=<file>
              Load this module map file

       -fmodule-name=<name>
              Specify the name of the module to build

       -fmodules-cache-path=<directory>
              Specify the module cache path

       -fmodules-decluse
              Require declaration of modules used within a module

       -fmodules-disable-diagnostic-validation
              Disable validation of the diagnostic options when loading the module

       -fmodules-ignore-macro=<value>
              Ignore the definition of the given macro when building and loading modules

       -fmodules-prune-after=<seconds>
              Specify  the  interval  (in  seconds)  after which a module file will be considered
              unused

       -fmodules-prune-interval=<seconds>
              Specify the interval (in seconds) between attempts to prune the module cache

       -fmodules-search-all
              Search even non-imported modules to resolve references

       -fmodules-strict-decluse
              Like -fmodules-decluse but requires all headers to be in modules

       -fmodules-ts
              Enable support for the C++ Modules TS

       -fmodules-user-build-path <directory>
              Specify the module user build path

       -fmodules-validate-once-per-build-session
              Don't verify input files for the  modules  if  the  module  has  been  successfully
              validated or loaded during this build session

       -fmodules-validate-system-headers
              Validate the system headers that a module depends on when loading the module

       -fmodules
              Enable the 'modules' language feature

       -fms-compatibility-version=<value>
              Dot-separated value representing the Microsoft compiler version number to report in
              _MSC_VER (0 = don't define it (default))

       -fms-compatibility
              Enable full Microsoft Visual C++ compatibility

       -fms-extensions
              Accept some non-standard constructs supported by the Microsoft compiler

       -fmsc-version=<value>
              Microsoft compiler version number to report  in  _MSC_VER  (0  =  don't  define  it
              (default))

       -fnew-alignment=<align>   Specifies   the  largest  alignment  guaranteed  by  '::operator
              new(size_t)'

       -fno-access-control
              Disable C++ access control

       -fno-assume-sane-operator-new
              Don't assume that C++'s global operator new can't alias any pointer

       -fno-autolink
              Disable generation of linker directives for automatic library linking

       -fno-builtin-<value>
              Disable implicit builtin knowledge of a specific function

       -fno-builtin
              Disable implicit builtin knowledge of functions

       -fno-common
              Compile common globals like normal definitions

       -fno-constant-cfstrings Disable creation of CodeFoundation-type constant strings

       -fno-coverage-mapping
              Disable code coverage analysis

       -fno-crash-diagnostics
              Disable auto-generation of preprocessed source files and a script for  reproduction
              during a clang crash

       -fno-debug-info-for-profiling
              Do not emit extra debug info for sample profiler.

       -fno-debug-macro
              Do not emit macro debug information

       -fno-declspec
              Disallow __declspec as a keyword

       -fno-delayed-template-parsing
              Disable delayed template parsing

       -fno-diagnostics-fixit-info
              Do not include fixit information in diagnostics

       -fno-dollars-in-identifiers
              Disallow '$' in identifiers

       -fno-double-square-bracket-attributes
              Disable '[[]]' attributes in all C and C++ language modes

       -fno-elide-constructors Disable C++ copy constructor elision

       -fno-elide-type
              Do not elide types when printing diagnostics

       -fno-experimental-isel
              Disables the experimental global instruction selector

       -fno-experimental-new-pass-manager
              Disables an experimental new pass manager in LLVM.

       -fno-fine-grained-bitfield-accesses
              Use large-integer access for consecutive bitfield runs.

       -fno-gnu-inline-asm
              Disable GNU style inline asm

       -fno-integrated-as
              Disable the integrated assembler

       -fno-jump-tables
              Do not use jump tables for lowering switches

       -fno-lax-vector-conversions
              Disallow  implicit  conversions between vectors with a different number of elements
              or different element types

       -fno-lto
              Disable LTO mode (default)

       -fno-merge-all-constants
              Disallow merging of constants

       -fno-objc-infer-related-result-type
              do not infer Objective-C related result type based on method family

       -fno-openmp-simd
              Disable OpenMP code for SIMD-based constructs.

       -fno-operator-names
              Do not treat C++ operator name keywords as synonyms for operators

       -fno-plt
              Do not use the PLT to make function calls

       -fno-preserve-as-comments
              Do not preserve comments in inline assembly

       -fno-profile-generate
              Disable generation of profile instrumentation.

       -fno-profile-instr-generate
              Disable generation of profile instrumentation.

       -fno-profile-instr-use
              Disable using instrumentation data for profile-guided optimization

       -fno-reroll-loops
              Turn off loop reroller

       -fno-rtlib-add-rpath
              Do not add -rpath with architecture-specific resource directory to the linker flags

       -fno-rtti
              Disable generation of rtti information

       -fno-sanitize-address-use-after-scope
              Disable use-after-scope detection in AddressSanitizer

       -fno-sanitize-blacklist Don't use blacklist file for sanitizers

       -fno-sanitize-cfi-cross-dso
              Disable control flow integrity (CFI) checks for cross-DSO calls.

       -fno-sanitize-coverage=<value>
              Disable specified features of coverage instrumentation for Sanitizers

       -fno-sanitize-memory-track-origins
              Disable origins tracking in MemorySanitizer

       -fno-sanitize-memory-use-after-dtor
              Disable use-after-destroy detection in MemorySanitizer

       -fno-sanitize-recover=<value>
              Disable recovery for specified sanitizers

       -fno-sanitize-stats
              Disable sanitizer statistics gathering.

       -fno-sanitize-thread-atomics
              Disable atomic operations instrumentation in ThreadSanitizer

       -fno-sanitize-thread-func-entry-exit
              Disable function entry/exit instrumentation in ThreadSanitizer

       -fno-sanitize-thread-memory-access
              Disable memory access instrumentation in ThreadSanitizer

       -fno-sanitize-trap=<value>
              Disable trapping for specified sanitizers

       -fno-short-wchar
              Force wchar_t to be an unsigned int

       -fno-show-column
              Do not include column number on diagnostics

       -fno-show-source-location
              Do not include source location information with diagnostics

       -fno-signed-char
              Char is unsigned

       -fno-signed-zeros
              Allow optimizations that ignore the sign of floating point zeros

       -fno-spell-checking
              Disable spell-checking

       -fno-stack-protector
              Disable the use of stack protectors

       -fno-standalone-debug
              Limit debug information produced to reduce size of debug binary

       -fno-threadsafe-statics Do not emit code to make initialization of  local  statics  thread
              safe

       -fno-trigraphs
              Do not process trigraph sequences

       -fno-unroll-loops
              Turn off loop unroller

       -fno-use-cxa-atexit
              Don't use __cxa_atexit for calling destructors

       -fno-use-init-array
              Don't use .init_array instead of .ctors

       -fnoopenmp-relocatable-target
              Do not compile OpenMP target code as relocatable.

       -fobjc-arc-exceptions
              Use EH-safe code when synthesizing retains and releases in -fobjc-arc

       -fobjc-arc
              Synthesize retain and release calls for Objective-C pointers

       -fobjc-exceptions
              Enable Objective-C exceptions

       -fobjc-runtime=<value>
              Specify the target Objective-C runtime kind and version

       -fobjc-weak
              Enable ARC-style weak references in Objective-C

       -fopenmp-relocatable-target
              OpenMP target code is compiled as relocatable using the -c flag. For OpenMP targets
              the code is relocatable by default.

       -fopenmp-simd
              Emit OpenMP code only for SIMD-based constructs.

       -fopenmp-targets=<value>
              Specify comma-separated list of triples OpenMP offloading targets to be supported

       -foptimization-record-file=<value>
              Specify the file name of any generated YAML optimization record

       -fpack-struct=<value>
              Specify the default maximum struct packing alignment

       -fpascal-strings
              Recognize and construct Pascal-style string literals

       -fpcc-struct-return
              Override the default ABI to return all structs on the stack

       -fplt  Use the PLT to make function calls

       -fplugin=<dsopath>
              Load the named plugin (dynamic shared object)

       -fprebuilt-module-path=<directory>
              Specify the prebuilt module path

       -fprofile-generate=<directory>
              Generate    instrumented    code    to    collect     execution     counts     into
              <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)

       -fprofile-generate
              Generate  instrumented  code  to  collect  execution  counts  into  default.profraw
              (overridden by LLVM_PROFILE_FILE env var)

       -fprofile-instr-generate=<file>
              Generate instrumented code to collect execution counts into <file>  (overridden  by
              LLVM_PROFILE_FILE env var)

       -fprofile-instr-generate
              Generate  instrumented  code  to collect execution counts into default.profraw file
              (overridden by '=' form of option or LLVM_PROFILE_FILE env var)

       -fprofile-instr-use=<value>
              Use instrumentation data for profile-guided optimization

       -fprofile-sample-accurate
              Specifies that the sample profile is accurate

       -fprofile-sample-use=<value>
              Enable sample-based profile guided optimizations

       -fprofile-use=<pathname>
              Use  instrumentation  data  for  profile-guided  optimization.  If  pathname  is  a
              directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file
              <pathname>.

       -freciprocal-math
              Allow division operations to be reassociated

       -freg-struct-return
              Override the default ABI to return small structs in registers

       -frelaxed-template-template-args
              Enable C++17 relaxed template template argument matching

       -freroll-loops
              Turn on loop reroller

       -frtlib-add-rpath
              Add -rpath with architecture-specific resource directory to the linker flags

       -fsanitize-address-field-padding=<value>
              Level of field padding for AddressSanitizer

       -fsanitize-address-globals-dead-stripping
              Enable linker dead stripping of globals in AddressSanitizer

       -fsanitize-address-use-after-scope
              Enable use-after-scope detection in AddressSanitizer

       -fsanitize-blacklist=<value>
              Path to blacklist file for sanitizers

       -fsanitize-cfi-cross-dso
              Enable control flow integrity (CFI) checks for cross-DSO calls.

       -fsanitize-cfi-icall-generalize-pointers
              Generalize pointers in CFI indirect call type signature checks

       -fsanitize-coverage=<value>
              Specify the type of coverage instrumentation for Sanitizers

       -fsanitize-memory-track-origins=<value>
              Enable origins tracking in MemorySanitizer

       -fsanitize-memory-track-origins
              Enable origins tracking in MemorySanitizer

       -fsanitize-memory-use-after-dtor
              Enable use-after-destroy detection in MemorySanitizer

       -fsanitize-recover=<value>
              Enable recovery for specified sanitizers

       -fsanitize-stats
              Enable sanitizer statistics gathering.

       -fsanitize-thread-atomics
              Enable atomic operations instrumentation in ThreadSanitizer (default)

       -fsanitize-thread-func-entry-exit
              Enable function entry/exit instrumentation in ThreadSanitizer (default)

       -fsanitize-thread-memory-access
              Enable memory access instrumentation in ThreadSanitizer (default)

       -fsanitize-trap=<value> Enable trapping for specified sanitizers

       -fsanitize-undefined-strip-path-components=<number>
              Strip (or keep only, if negative) a given number of path components  when  emitting
              check metadata.

       -fsanitize=<check>
              Turn  on  runtime checks for various forms of undefined or suspicious behavior. See
              user manual for available checks

       -fsave-optimization-record
              Generate a YAML optimization record file

       -fseh-exceptions
              Use SEH style exceptions

       -fshort-enums
              Allocate to an enum type only as many bytes as it needs for the declared  range  of
              possible values

       -fshort-wchar
              Force wchar_t to be a short unsigned int

       -fshow-overloads=<value>
              Which  overload  candidates  to  show  when  overload  resolution  fails: best|all;
              defaults to all

       -fsized-deallocation
              Enable C++14 sized global deallocation functions

       -fsjlj-exceptions
              Use SjLj style exceptions

       -fslp-vectorize
              Enable the superword-level parallelism vectorization passes

       -fsplit-dwarf-inlining
              Place debug types in their own section (ELF Only)

       -fstack-protector-all
              Force the usage of stack protectors for all functions

       -fstack-protector-strong
              Use a strong heuristic to apply stack protectors to functions

       -fstack-protector
              Enable stack protectors for functions potentially vulnerable to stack smashing

       -fstandalone-debug
              Emit full debug info for all types used by the program

       -fstrict-enums
              Enable optimizations based on the strict definition of an enum's value range

       -fstrict-return
              Always treat control flow paths that fall off the end of  a  non-void  function  as
              unreachable

       -fstrict-vtable-pointers
              Enable  optimizations  based  on  the  strict rules for overwriting polymorphic C++
              objects

       -fthinlto-index=<value> Perform ThinLTO importing using provided function summary index

       -ftrap-function=<value> Issue call to specified function rather than a trap instruction

       -ftrapv-handler=<function name>
              Specify the function to be called on overflow

       -ftrapv
              Trap on integer overflow

       -ftrigraphs
              Process trigraph sequences

       -funique-section-names
              Use unique names for text and data sections (ELF Only)

       -funroll-loops
              Turn on loop unroller

       -fuse-init-array
              Use .init_array instead of .ctors

       -fveclib=<value>
              Use the given vector functions library

       -fvectorize
              Enable the loop vectorization passes

       -fvisibility-inlines-hidden
              Give inline C++ member functions default visibility by default

       -fvisibility-ms-compat
              Give global types 'default' visibility and global functions and variables  'hidden'
              visibility by default

       -fvisibility=<value>
              Set the default symbol visibility for all global declarations

       -fwhole-program-vtables Enables whole-program vtable optimization. Requires -flto

       -fwrapv
              Treat signed integer overflow as two's complement

       -fwritable-strings
              Store string literals as writable data

       -fxray-always-emit-customevents
              Determine whether to always emit __xray_customevent(...) calls even if the function
              it appears in is not always instrumented.

       -fxray-always-instrument= <value>
              Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.

       -fxray-instruction-threshold= <value>
              Sets the minimum function size to instrument with XRay

       -fxray-instrument
              Generate XRay instrumentation sleds on function entry and exit

       -fxray-never-instrument= <value>
              Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.

       -fzvector
              Enable System z vector language extension

       -F <value>
              Add directory to framework include search path

       --gcc-toolchain=<value> Use the gcc toolchain at the given directory

       -gcodeview
              Generate CodeView debug information

       -gdwarf-2
              Generate source-level debug information with dwarf version 2

       -gdwarf-3
              Generate source-level debug information with dwarf version 3

       -gdwarf-4
              Generate source-level debug information with dwarf version 4

       -gdwarf-5
              Generate source-level debug information with dwarf version 5

       -gline-tables-only
              Emit debug line number tables only

       -gmodules
              Generate debug info with  external  references  to  clang  modules  or  precompiled
              headers

       -gz=<value>
              DWARF debug sections compression type

       -gz    DWARF debug sections compression type

       -G <size>
              Put objects of at most <size> bytes into small data section (MIPS / Hexagon)

       -g     Generate source-level debug information

       -help  Display available options

       -H     Show header includes and nesting depth

       -I-    Restrict all prior -I flags to double-quoted inclusion and remove current directory
              from include path

       -idirafter <value>
              Add directory to AFTER include search path

       -iframeworkwithsysroot <directory>
              Add directory to SYSTEM framework search  path,  absolute  paths  are  relative  to
              -isysroot

       -iframework <value>
              Add directory to SYSTEM framework search path

       -imacros <file>
              Include macros from file before parsing

       -include-pch <file>
              Include precompiled header file

       -include <file>
              Include file before parsing

       -index-header-map
              Make the next included directory (-I or -F) an indexer header map

       -iprefix <dir>
              Set the -iwithprefix/-iwithprefixbefore prefix

       -iquote <directory>
              Add directory to QUOTE include search path

       -isysroot <dir>
              Set the system root directory (usually /)

       -isystem-after <directory>
              Add directory to end of the SYSTEM include search path

       -isystem <directory>
              Add directory to SYSTEM include search path

       -ivfsoverlay <value>
              Overlay the virtual filesystem described by file over the real file system

       -iwithprefixbefore <dir>
              Set directory to include search path with prefix

       -iwithprefix <dir>
              Set directory to SYSTEM include search path with prefix

       -iwithsysroot <directory>
              Add  directory  to  SYSTEM  include  search  path,  absolute  paths are relative to
              -isysroot

       -I <dir>
              Add directory to include search path

       -L <dir>
              Add directory to library search path

       -mabicalls
              Enable SVR4-style position-independent code (Mips only)

       -malign-double
              Align doubles to two words in structs (x86 only)

       -mbackchain
              Link stack frames through backchain on System Z

       -mcrc  Allow use of CRC instructions (ARM only)

       -MD    Write a depfile containing user and system headers

       -meabi <value>
              Set EABI type, e.g. 4, 5 or gnu (default depends on triple)

       -membedded-data
              Place constants in the .rodata section instead of the .sdata section even  if  they
              meet the -G <size> threshold (MIPS)

       -mexecute-only
              Disallow generation of data access to code sections (ARM only)

       -mextern-sdata
              Assume  that externally defined data is in the small data if it meets the -G <size>
              threshold (MIPS)

       -mfentry
              Insert calls to fentry at function entry (x86 only)

       -mfix-cortex-a53-835769 Workaround Cortex-A53 erratum 835769 (AArch64 only)

       -mfp32
              Use 32-bit floating point registers (MIPS only)

       -mfp64 Use 64-bit floating point registers (MIPS only)

       -MF <file>
              Write depfile output from -MMD, -MD, -MM, or -M to <file>

       -mgeneral-regs-only
              Generate code which only uses the general purpose registers (AArch64 only)

       -mglobal-merge
              Enable merging of globals

       -mgpopt
              Use GP relative accesses for symbols known to be in a small data section (MIPS)

       -MG    Add missing headers to depfile

       -mhvx-double
              Enable Hexagon Double Vector eXtensions

       -mhvx-length=<value>
              Set Hexagon Vector Length

       -mhvx=<value>
              Enable Hexagon Vector eXtensions

       -mhvx  Enable Hexagon Vector eXtensions

       -miamcu
              Use Intel MCU ABI

       --migrate
              Run the migrator

       -mincremental-linker-compatible
              (integrated-as) Emit an object file which can be used with an incremental linker

       -mindirect-jump=<value> Change indirect jump instructions to inhibit speculation

       -mios-version-min=<value>
              Set iOS deployment target

       -MJ <value>
              Write a compilation database entry per input

       -mllvm <value>
              Additional arguments to forward to LLVM's option processing

       -mlocal-sdata
              Extend the -G behaviour to object local data (MIPS)

       -mlong-calls
              Generate branches with extended addressability, usually via indirect jumps.

       -mmacosx-version-min=<value>
              Set Mac OS X deployment target

       -mmadd4
              Enable the generation of 4-operand madd.s, madd.d and related instructions.

       -MMD   Write a depfile containing user headers

       -mms-bitfields
              Set the default structure layout to  be  compatible  with  the  Microsoft  compiler
              standard

       -mmsa  Enable MSA ASE (MIPS only)

       -mmt   Enable MT ASE (MIPS only)

       -MM    Like -MMD, but also implies -E and writes to stdout by default

       -mno-abicalls
              Disable SVR4-style position-independent code (Mips only)

       -mno-embedded-data
              Do  not  place  constants in the .rodata section instead of the .sdata if they meet
              the -G <size> threshold (MIPS)

       -mno-execute-only
              Allow generation of data access to code sections (ARM only)

       -mno-extern-sdata
              Do not assume that externally defined data is in the small data if it meets the  -G
              <size> threshold (MIPS)

       -mno-fix-cortex-a53-835769
              Don't workaround Cortex-A53 erratum 835769 (AArch64 only)

       -mno-global-merge
              Disable merging of globals

       -mno-gpopt
              Do  not  use  GP  relative accesses for symbols known to be in a small data section
              (MIPS)

       -mno-hvx-double
              Disable Hexagon Double Vector eXtensions

       -mno-hvx
              Disable Hexagon Vector eXtensions

       -mno-implicit-float
              Don't generate implicit floating point instructions

       -mno-incremental-linker-compatible
              (integrated-as) Emit an object file which cannot be used with an incremental linker

       -mno-local-sdata
              Do not extend the -G behaviour to object local data (MIPS)

       -mno-long-calls
              Restore the default behaviour of not generating long calls

       -mno-madd4
              Disable the generation of 4-operand madd.s, madd.d and related instructions.

       -mno-movt
              Disallow use of movt/movw pairs (ARM only)

       -mno-ms-bitfields
              Do not set the default  structure  layout  to  be  compatible  with  the  Microsoft
              compiler standard

       -mno-msa
              Disable MSA ASE (MIPS only)

       -mno-mt
              Disable MT ASE (MIPS only)

       -mno-neg-immediates
              Disallow  converting  instructions  with  negative  immediates to their negation or
              inversion.

       -mno-restrict-it
              Allow generation of deprecated IT blocks for ARMv8. It is off by default for  ARMv8
              Thumb mode

       -mno-unaligned-access
              Force all memory accesses to be aligned (AArch32/AArch64 only)

       -mno-xnack
              Disable XNACK (AMDGPU only)

       -mnocrc
              Disallow use of CRC instructions (ARM only)

       -module-dependency-dir <value>
              Directory to dump module dependencies to

       -module-file-info
              Provide information about a particular module file

       -momit-leaf-frame-pointer
              Omit frame pointer setup for leaf functions

       -mpie-copy-relocations
              Use copy relocations support for PIE builds

       -mprefer-vector-width=<value>
              Specifies  preferred  vector width for auto-vectorization. Defaults to 'none' which
              allows target specific decisions.

       -MP    Create phony target for each dependency (other than main file)

       -mqdsp6-compat
              Enable hexagon-qdsp6 backward compatibility

       -MQ <value>
              Specify name of main file output to quote in depfile

       -mrelax-all
              (integrated-as) Relax all machine instructions

       -mrestrict-it
              Disallow generation of deprecated IT blocks for ARMv8. It  is  on  by  default  for
              ARMv8 Thumb mode.

       -mrtd  Make StdCall calling convention the default

       -msoft-float
              Use software floating point

       -mstack-alignment=<value>
              Set the stack alignment

       -mstack-probe-size=<value>
              Set the stack probe size

       -mstackrealign
              Force realign the stack at entry to every function

       -mthread-model <value>
              The thread model to use, e.g. posix, single (posix by default)

       -mtp=<value>
              Read thread pointer from coprocessor register (ARM only)

       -MT <value>
              Specify name of main file output in depfile

       -munaligned-access
              Allow memory accesses to be unaligned (AArch32/AArch64 only)

       -MV    Use NMake/Jom format for the depfile

       -mxnack
              Enable XNACK (AMDGPU only)

       -M     Like -MD, but also implies -E and writes to stdout by default

       --no-cuda-gpu-arch=<value>
              Remove  GPU  architecture  (e.g. sm_35) from the list of GPUs to compile for. 'all'
              resets the list to its default value.

       --no-cuda-version-check Don't error out if the detected version of the CUDA install is too
              low for the requested CUDA gpu architecture.

       --no-system-header-prefix=<prefix>
              Treat all #include paths starting with <prefix> as not including a system header.

       -nobuiltininc
              Disable builtin #include directories

       -nostdinc++
              Disable standard #include directories for the C++ standard library

       -ObjC++
              Treat source input files as Objective-C++ inputs

       -objcmt-atomic-property Make migration to 'atomic' properties

       -objcmt-migrate-all
              Enable migration to modern ObjC

       -objcmt-migrate-annotation
              Enable migration to property and method annotations

       -objcmt-migrate-designated-init
              Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods

       -objcmt-migrate-instancetype
              Enable migration to infer instancetype for method result type

       -objcmt-migrate-literals
              Enable migration to modern ObjC literals

       -objcmt-migrate-ns-macros
              Enable migration to NS_ENUM/NS_OPTIONS macros

       -objcmt-migrate-property-dot-syntax
              Enable migration of setter/getter messages to property-dot syntax

       -objcmt-migrate-property
              Enable migration to modern ObjC property

       -objcmt-migrate-protocol-conformance
              Enable migration to add protocol conformance on classes

       -objcmt-migrate-readonly-property
              Enable migration to modern ObjC readonly property

       -objcmt-migrate-readwrite-property
              Enable migration to modern ObjC readwrite property

       -objcmt-migrate-subscripting
              Enable migration to modern ObjC subscripting

       -objcmt-ns-nonatomic-iosonly
              Enable  migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic'
              attribute

       -objcmt-returns-innerpointer-property
              Enable migration to annotate property with NS_RETURNS_INNER_POINTER

       -objcmt-whitelist-dir-path=<value>
              Only modify files with a filename contained in the provided directory path

       -ObjC  Treat source input files as Objective-C inputs

       -o <file>
              Write output to <file>

       -pg    Enable mcount instrumentation

       -pipe  Use pipes between commands, when possible

       --precompile
              Only precompile the input

       -print-file-name=<file> Print the full library path of <file>

       -print-ivar-layout
              Enable Objective-C Ivar layout bitmap print trace

       -print-libgcc-file-name Print the library path for the  currently  used  compiler  runtime
              library ("libgcc.a" or "libclang_rt.builtins.*.a")

       -print-prog-name=<name> Print the full program path of <name>

       -print-resource-dir
              Print the resource directory pathname

       -print-search-dirs
              Print the paths used for finding libraries and programs

       -pthread
              Support POSIX threads in generated code

       --ptxas-path=<value>
              Path to ptxas (used for compiling CUDA code)

       -P     Disable linemarker output in -E mode

       -Qunused-arguments
              Don't emit warning for unused driver arguments

       -relocatable-pch
              Whether to build a relocatable precompiled header

       -rewrite-legacy-objc
              Rewrite Legacy Objective-C source to C++

       -rewrite-objc
              Rewrite Objective-C source to C++

       -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name
              matches the given POSIX regular expression

       -Rpass-missed=<value>
              Report missed transformations by optimization passes whose name matches  the  given
              POSIX regular expression

       -Rpass=<value>
              Report  transformations  performed  by  optimization  passes whose name matches the
              given POSIX regular expression

       -rtlib=<value>
              Compiler runtime library to use

       -R<remark>
              Enable the specified remark

       -save-stats=<value>
              Save llvm statistics.

       -save-stats
              Save llvm statistics.

       -save-temps=<value>
              Save intermediate compilation results.

       -save-temps
              Save intermediate compilation results

       -serialize-diagnostics <value>
              Serialize compiler diagnostics to a file

       -std=<value>
              Language standard to compile for

       -stdlib=<value>
              C++ standard library to use

       --system-header-prefix=<prefix>
              Treat all #include paths starting with <prefix> as including a system header.

       -S     Only run preprocess and compilation steps

       --target=<value>
              Generate code for the given target

       -Tbss <addr>
              Set starting address of BSS to <addr>

       -Tdata <addr>
              Set starting address of BSS to <addr>

       -time  Time individual commands

       -traditional-cpp
              Enable some traditional CPP emulation

       -trigraphs
              Process trigraph sequences

       -Ttext <addr>
              Set starting address of BSS to <addr>

       -T <script>
              Specify <script> as linker script

       -undef undef all system defines

       -U <macro>
              Undefine macro <macro>

       --verify-debug-info
              Verify the binary representation of debug output

       -verify-pch
              Load and verify that a pre-compiled header file is not stale

       --version
              Print version information

       -v     Show commands to run and use verbose output

       -Wa,<arg>
              Pass the comma separated arguments in <arg> to the assembler

       -Wdeprecated
              Enable warnings for deprecated constructs and define __DEPRECATED

       -Wl,<arg>
              Pass the comma separated arguments in <arg> to the linker

       -working-directory <value>
              Resolve file paths relative to the specified directory

       -Wp,<arg>
              Pass the comma separated arguments in <arg> to the preprocessor

       -W<warning>
              Enable the specified warning

       -w     Suppress all warnings

       -Xanalyzer <arg>
              Pass <arg> to the static analyzer

       -Xassembler <arg>
              Pass <arg> to the assembler

       -Xclang <arg>
              Pass <arg> to the clang compiler

       -Xcuda-fatbinary <arg>
              Pass <arg> to fatbinary invocation

       -Xcuda-ptxas <arg>
              Pass <arg> to the ptxas assembler

       -Xlinker <arg>
              Pass <arg> to the linker

       -Xopenmp-target=<arg>
              Pass <arg> to the specified target offloading toolchain. The triple that identifies
              the toolchain must be provided after the equals sign.

       -Xopenmp-target <arg>
              Pass <arg> to the target offloading toolchain.

       -Xpreprocessor <arg>
              Pass <arg> to the preprocessor

       -x <language>
              Treat subsequent input files as having type <language>

       -z <arg>
              Pass -z <arg> to the linker

       CastXML project maintained and supported by Kitware (kitware.com).

       clang  version  6.0.1-2 (tags/RELEASE_601/final) Target: x86_64-pc-linux-gnu Thread model:
       posix InstalledDir: