Apple-CLangコンパイラ-archパラメータ

17632 ワード

  • 無パラメータclang-S test 2.c -o test2.s
  • i386 clang -arch i386 -S test2.c -o test2.s
  • arm clang -arch arm -S test2.c -o test2.s
  • arm64 clang -arch arm64 -S test2.c -o test2.s
  • armv7 clang -arch armv7 -S test2.c -o test2.s

  • == HELP ==

    OVERVIEW: clang LLVM compiler

    USAGE: clang [options]

    OPTIONS:
    -### Print the commands to run for this compilation
    --analyze Run the static analyzer
    -arcmt-migrate-emit-errors
    Emit ARC errors even if the migrator can fix them
    -arcmt-migrate-report-output
    Output path for the plist report
    -cl-kernel-arg-info OpenCL only. This option allows the compiler to store information about the arguments of a kernel(s)
    -cxx-isystem
    Add directory to the C++ SYSTEM include search path
    -c Only run preprocess, compile, and assemble steps
    -dD Print macro definitions in -E mode in addition to normal output
    -dependency-dot Filename to write DOT-formatted header dependencies to
    -dependency-file
    Filename (or -) to write dependency output to
    -dM Print macro definitions in -E mode instead of normal output
    -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
    -faltivec Enable AltiVec vector initializer syntax
    -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
    -fblocks Enable the 'blocks' language feature
    -fborland-extensions Accept non-standard constructs supported by the Borland compiler
    -fbounds-checking Enable run-time bounds checks
    -fcolor-diagnostics Use colors in diagnostics
    -fcomment-block-commands=
    Treat each comma separated argument in as a documentation comment block command
    -fcxx-exceptions Enable C++ exceptions
    -fdata-sections Place each data in its own section (ELF Only)
    -fdebug-types-section Place debug types in their own section (ELF Only)
    -fdelayed-template-parsing
    Parse templated function definitions at the end of the translation unit
    -fdiagnostics-parseable-fixits
    Print fix-its in machine parseable form
    -fdiagnostics-print-source-range-info
    Print source range spans in numeric form
    -fdiagnostics-show-name Print diagnostic name
    -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
    -femit-all-decls Emit all declarations, even if unused
    -fexceptions Enable support for exception handling
    -ffast-math Enable the frontend's 'fast-math' mode. This has no effect on optimizations, but provides a preprocessor macro FAST_MATH the same as GCC's -ffast-math flag
    -ffixed-r9 Reserve the r9 register (ARM only)
    -ffp-contract= 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
    -finstrument-functions Generate calls to instrument function entry and exit
    -fmath-errno Require math functions to indicate errors by setting errno
    -fmodule-map-file=
    Load this module map file
    -fmodule-maps Read module maps to understand the structure of library headers
    -fmodule-name= Specify the name of the module to build
    -fmodules-cache-path=
    Specify the module cache path
    -fmodules-decluse Require declaration of modules used within a module
    -fmodules-ignore-macro=
    Ignore the definition of the given macro when building and loading modules
    -fmodules-prune-after=
    Specify the interval (in seconds) after which a module file will be considered unused
    -fmodules-prune-interval=
    Specify the interval (in seconds) between attempts to prune the module cache
    -fmodules Enable the 'modules' language feature
    -fms-compatibility Enable Microsoft compatibility mode
    -fms-extensions Accept some non-standard constructs supported by the Microsoft compiler
    -fmsc-version= Version of the Microsoft C/C++ compiler to report in _MSC_VER (0 = don't define it (default))
    -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- 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-diagnostics-fixit-info
    Do not include fixit information in diagnostics
    -fno-dollars-in-identifiers
    Disallow '$' in identifiers
    -fno-elide-constructors Disable C++ copy constructor elision
    -fno-elide-type Do not elide types when printing diagnostics
    -fno-lax-vector-conversions
    Disallow implicit conversions between vectors with a different number of elements or different element types
    -fno-math-builtin Disable implicit builtin knowledge of math functions
    -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-operator-names Do not treat C++ operator name keywords as synonyms for operators
    -fno-rtti Disable generation of rtti information
    -fno-sanitize-blacklist Don't use blacklist file for sanitizers
    -fno-sanitize-recover Disable sanitizer check recovery
    -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-spell-checking Disable spell-checking
    -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-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
    -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-gc-only Use GC exclusively for Objective-C related memory management
    -fobjc-gc Enable Objective-C garbage collection
    -fobjc-runtime= Specify the target Objective-C runtime kind and version
    -fpack-struct= 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
    -fprofile-instr-generate
    Generate instrumented code to collect execution counts
    -fprofile-instr-use=
    Use instrumentation data for profile-guided optimization
    -freg-struct-return Override the default ABI to return small structs in registers
    -fsanitize-address-zero-base-shadow
    Make AddressSanitizer map shadow memory at zero offset
    -fsanitize-blacklist=
    Path to blacklist file for sanitizers
    -fsanitize-memory-track-origins
    Enable origins tracking in MemorySanitizer
    -fsanitize= Enable runtime instrumentation for bug detection: undefined (miscellaneous undefined behavior)
    -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=
    Which overload candidates to show when overload resolution fails: best|all; defaults to all
    -fslp-vectorize-aggressive
    Enable the BB vectorization passes
    -fslp-vectorize Enable the superword-level parallelism vectorization passes
    -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
    -ftrap-function= Issue call to specified function rather than a trap instruction
    -ftrapv-handler=
    Specify the function to be called on overflow
    -ftrapv Trap on integer overflow
    -funroll-loops Turn on loop unroller
    -fuse-init-array Use .init_array instead of .ctors
    -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= Set the default symbol visibility for all global declarations
    -fwrapv Treat signed integer overflow as two's complement
    -fwritable-strings Store string literals as writable data
    -F Add directory to framework include search path
    --gcc-toolchain= Use the gcc toolchain at the given directory
    -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
    -gline-tables-only Emit debug line number tables only
    -g Generate source level debug information
    -help Display available options
    -H Show header includes and nesting depth
    -idirafter Add directory to AFTER include search path
    -iframework Add directory to SYSTEM framework search path
    -imacros Include macros from file before parsing
    -include-pch Include precompiled header file
    -include Include file before parsing
    -index-header-map Make the next included directory (-I or -F) an indexer header map
    -iprefix

    Set the -iwithprefix/-iwithprefixbefore prefix
    -iquote Add directory to QUOTE include search path
    -isysroot Set the system root directory (usually /)
    -isystem Add directory to SYSTEM include search path
    -iwithprefixbefore
    Set directory to include search path with prefix
    -iwithprefix Set directory to SYSTEM include search path with prefix
    -iwithsysroot
    Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
    -I Add directory to include search path
    -mcrc Allow use of CRC instructions (ARM only)
    -mfp32 Use 32-bit floating point registers (MIPS only)
    -mfp64 Use 64-bit floating point registers (MIPS only)
    -MG Add missing headers to dependency list
    --migrate-xct Apply modifications and produces temporary files to migrate to XCTest framework
    --migrate Run the migrator
    -mllvm Additional arguments to forward to LLVM's option processing
    -mms-bitfields Set the default structure layout to be compatible with the Microsoft compiler standard
    -mmsa Enable MSA ASE (MIPS only)
    -mno-global-merge Disable merging of globals
    -mno-implicit-float Don't generate implicit floating point instructions
    -mno-msa Disable MSA ASE (MIPS only)
    -mno-unaligned-access Force all memory accesses to be aligned (ARM only)
    -mnocrc Disallow use of CRC instructions (ARM only)
    -momit-leaf-frame-pointer
    Omit frame pointer setup for leaf functions
    -MP Create phony target for each dependency (other than main file)
    -mqdsp6-compat Enable hexagon-qdsp6 backward compatibility
    -MQ Specify target to quote for dependency
    -mrelax-all (integrated-as) Relax all machine instructions
    -mrtd Make StdCall calling convention the default
    -msoft-float Use software floating point
    -mstack-alignment=
    Set the stack alignment
    -mstackrealign Force realign the stack at entry to every function
    -MT Specify target for dependency
    -munaligned-access Allow memory accesses to be unaligned (ARM only)
    -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
    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=
    Only modify files with a filename contained in the provided directory path
    -ObjC Treat source input files as Objective-C inputs
    -o Write output to
    -pg Enable mcount instrumentation
    -pipe Use pipes between commands, when possible
    -print-file-name= Print the full library path of
    -print-ivar-layout Enable Objective-C Ivar layout bitmap print trace
    -print-libgcc-file-name Print the library path for "libgcc.a"
    -print-prog-name= Print the full program path of
    -print-search-dirs Print the paths used for finding libraries and programs
    -pthread Support POSIX threads in generated 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++
    -save-temps Save intermediate compilation results
    -serialize-diagnostics
    Serialize compiler diagnostics to a file
    -std= Language standard to compile for
    -stdlib= C++ standard library to use
    -S Only run preprocess and compilation steps
    --target= Generate code for the given target
    -time Time individual commands
    -traditional-cpp Enable some traditional CPP emulation
    -trigraphs Process trigraph sequences
    -undef undef all system defines
    -verify Verify output using a verifier
    -v Show commands to run and use verbose output
    -Wa, Pass the comma separated arguments in to the assembler
    -Wl, Pass the comma separated arguments in to the linker
    -working-directory
    Resolve file paths relative to the specified directory
    -Wp, Pass the comma separated arguments in to the preprocessor
    -W Enable the specified warning
    -w Suppress all warnings
    -Xanalyzer Pass to the static analyzer
    -Xassembler Pass to the assembler
    -Xclang Pass to the clang compiler
    -Xlinker Pass to the linker
    -Xpreprocessor Pass to the preprocessor
    -x Treat subsequent input files as having type