1.. 2 ------------------------------------------------------------------- 3 NOTE: This file is automatically generated by running clang-tblgen 4 -gen-opt-docs. Do not edit this file by hand!! 5 ------------------------------------------------------------------- 6 7===================================== 8Clang command line argument reference 9===================================== 10.. contents:: 11 :local: 12 13Introduction 14============ 15 16This page lists the command line arguments currently supported by the 17GCC-compatible ``clang`` and ``clang++`` drivers. 18 19 20.. program:: clang 21.. option:: -B<dir>, --prefix <arg>, --prefix=<arg> 22 23Add <dir> to search path for binaries and object files used implicitly 24 25.. option:: -F<arg> 26 27Add directory to framework include search path 28 29.. option:: -ObjC 30 31Treat source input files as Objective-C inputs 32 33.. program:: clang1 34.. option:: -ObjC++ 35.. program:: clang 36 37Treat source input files as Objective-C++ inputs 38 39.. option:: -Qunused-arguments 40 41Don't emit warning for unused driver arguments 42 43.. option:: -Wa,<arg>,<arg2>... 44 45Pass the comma separated arguments in <arg> to the assembler 46 47.. option:: -Wlarge-by-value-copy=<arg> 48 49.. option:: -Xarch\_<arg1> <arg2> 50 51.. option:: -Xcuda-fatbinary <arg> 52 53Pass <arg> to fatbinary invocation 54 55.. option:: -Xcuda-ptxas <arg> 56 57Pass <arg> to the ptxas assembler 58 59.. option:: -Xopenmp-target <arg> 60 61Pass <arg> to the target offloading toolchain. 62 63.. program:: clang1 64.. option:: -Xopenmp-target=<arg> <arg2> 65.. program:: clang 66 67Pass <arg> to the specified target offloading toolchain. The triple that identifies the toolchain must be provided after the equals sign. 68 69.. option:: -Z<arg> 70 71.. option:: -a<arg>, --profile-blocks 72 73.. option:: -all\_load 74 75.. option:: -allowable\_client <arg> 76 77.. option:: --analyze 78 79Run the static analyzer 80 81.. option:: --analyze-auto 82 83.. option:: --analyzer-no-default-checks 84 85.. option:: --analyzer-output<arg> 86 87Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text). 88 89.. option:: -ansi, --ansi 90 91.. option:: -arch <arg> 92 93.. program:: clang1 94.. option:: -arch\_errors\_fatal 95.. program:: clang 96 97.. program:: clang2 98.. option:: -arch\_only <arg> 99.. program:: clang 100 101.. option:: -arcmt-migrate-emit-errors 102 103Emit ARC errors even if the migrator can fix them 104 105.. option:: -arcmt-migrate-report-output <arg> 106 107Output path for the plist report 108 109.. option:: --autocomplete=<arg> 110 111.. option:: -bind\_at\_load 112 113.. option:: -bundle 114 115.. program:: clang1 116.. option:: -bundle\_loader <arg> 117.. program:: clang 118 119.. option:: -cfguard 120 121Emit tables required for Windows Control Flow Guard. 122 123.. option:: -client\_name<arg> 124 125.. option:: -compatibility\_version<arg> 126 127.. option:: --config <arg> 128 129Specifies configuration file 130 131.. option:: --constant-cfstrings 132 133.. option:: -coverage, --coverage 134 135.. option:: --cuda-compile-host-device 136 137Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations. 138 139.. option:: --cuda-device-only 140 141Compile CUDA code for device only 142 143.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg> 144 145CUDA GPU architecture (e.g. sm\_35). May be specified more than once. 146 147.. option:: --cuda-host-only 148 149Compile CUDA code for host only. Has no effect on non-CUDA compilations. 150 151.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug 152 153Enable device-side debug info generation. Disables ptxas optimizations. 154 155.. option:: -current\_version<arg> 156 157.. option:: -dead\_strip 158 159.. option:: -dependency-dot <arg> 160 161Filename to write DOT-formatted header dependencies to 162 163.. option:: -dependency-file <arg> 164 165Filename (or -) to write dependency output to 166 167.. option:: -dumpmachine 168 169.. option:: -dumpversion 170 171.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg> 172 173.. option:: -dylib\_file <arg> 174 175.. option:: -dylinker 176 177.. program:: clang1 178.. option:: -dylinker\_install\_name<arg> 179.. program:: clang 180 181.. option:: -dynamic 182 183.. option:: -dynamiclib 184 185.. option:: -emit-ast 186 187Emit Clang AST files for source inputs 188 189.. option:: -exported\_symbols\_list <arg> 190 191.. option:: -faligned-new=<arg> 192 193.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals 194 195Use approximate transcendental functions 196 197.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero 198 199Flush denormal floating point values to zero in CUDA device mode. 200 201.. option:: -fheinous-gnu-extensions 202 203.. option:: -flat\_namespace 204 205.. option:: -fopenmp-targets=<arg1>,<arg2>... 206 207Specify comma-separated list of triples OpenMP offloading targets to be supported 208 209.. option:: -force\_cpusubtype\_ALL 210 211.. program:: clang1 212.. option:: -force\_flat\_namespace 213.. program:: clang 214 215.. program:: clang2 216.. option:: -force\_load <arg> 217.. program:: clang 218 219.. option:: -framework <arg> 220 221.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath 222 223Add -rpath with architecture-specific resource directory to the linker flags 224 225.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg> 226 227Use the gcc toolchain at the given directory 228 229.. option:: -gcodeview 230 231Generate CodeView debug information 232 233.. option:: -headerpad\_max\_install\_names<arg> 234 235.. option:: -help, --help 236 237Display available options 238 239.. option:: --help-hidden 240 241.. option:: -image\_base <arg> 242 243.. option:: -index-header-map 244 245Make the next included directory (-I or -F) an indexer header map 246 247.. option:: -init <arg> 248 249.. option:: -install\_name <arg> 250 251.. option:: -keep\_private\_externs 252 253.. option:: -lazy\_framework <arg> 254 255.. program:: clang1 256.. option:: -lazy\_library <arg> 257.. program:: clang 258 259.. option:: -mbig-endian, -EB 260 261.. option:: --migrate 262 263Run the migrator 264 265.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg> 266 267.. option:: -mlinker-version=<arg> 268 269.. option:: -mlittle-endian, -EL 270 271.. option:: -mllvm <arg> 272 273Additional arguments to forward to LLVM's option processing 274 275.. option:: -module-dependency-dir <arg> 276 277Directory to dump module dependencies to 278 279.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg> 280 281.. option:: -multi\_module 282 283.. option:: -multiply\_defined <arg> 284 285.. program:: clang1 286.. option:: -multiply\_defined\_unused <arg> 287.. program:: clang 288 289.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg> 290 291.. option:: --no-cuda-version-check 292 293Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture. 294 295.. option:: -no-integrated-cpp, --no-integrated-cpp 296 297.. option:: -no\_dead\_strip\_inits\_and\_terms 298 299.. option:: -nobuiltininc 300 301Disable builtin #include directories 302 303.. option:: -nocudainc 304 305.. option:: -nocudalib 306 307.. option:: -nodefaultlibs 308 309.. option:: -nofixprebinding 310 311.. option:: -nolibc 312 313.. option:: -nomultidefs 314 315.. option:: -nopie, -no-pie 316 317.. option:: -noprebind 318 319.. option:: -noseglinkedit 320 321.. option:: -nostartfiles 322 323.. option:: -nostdinc, --no-standard-includes 324 325.. program:: clang1 326.. option:: -nostdinc++ 327.. program:: clang 328 329Disable standard #include directories for the C++ standard library 330 331.. option:: -nostdlib, --no-standard-libraries 332 333.. program:: clang1 334.. option:: -nostdlib++ 335.. program:: clang 336 337.. option:: -nostdlibinc 338 339.. option:: -o<file>, --output <arg>, --output=<arg> 340 341Write output to <file> 342 343.. option:: -objcmt-atomic-property 344 345Make migration to 'atomic' properties 346 347.. option:: -objcmt-migrate-all 348 349Enable migration to modern ObjC 350 351.. option:: -objcmt-migrate-annotation 352 353Enable migration to property and method annotations 354 355.. option:: -objcmt-migrate-designated-init 356 357Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods 358 359.. option:: -objcmt-migrate-instancetype 360 361Enable migration to infer instancetype for method result type 362 363.. option:: -objcmt-migrate-literals 364 365Enable migration to modern ObjC literals 366 367.. option:: -objcmt-migrate-ns-macros 368 369Enable migration to NS\_ENUM/NS\_OPTIONS macros 370 371.. option:: -objcmt-migrate-property 372 373Enable migration to modern ObjC property 374 375.. option:: -objcmt-migrate-property-dot-syntax 376 377Enable migration of setter/getter messages to property-dot syntax 378 379.. option:: -objcmt-migrate-protocol-conformance 380 381Enable migration to add protocol conformance on classes 382 383.. option:: -objcmt-migrate-readonly-property 384 385Enable migration to modern ObjC readonly property 386 387.. option:: -objcmt-migrate-readwrite-property 388 389Enable migration to modern ObjC readwrite property 390 391.. option:: -objcmt-migrate-subscripting 392 393Enable migration to modern ObjC subscripting 394 395.. option:: -objcmt-ns-nonatomic-iosonly 396 397Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute 398 399.. option:: -objcmt-returns-innerpointer-property 400 401Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER 402 403.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg> 404 405Only modify files with a filename contained in the provided directory path 406 407.. option:: -object 408 409.. option:: -p, --profile 410 411.. option:: -pagezero\_size<arg> 412 413.. option:: -pg 414 415Enable mcount instrumentation 416 417.. option:: -pie 418 419.. option:: -pipe, --pipe 420 421Use pipes between commands, when possible 422 423.. option:: -prebind 424 425.. program:: clang1 426.. option:: -prebind\_all\_twolevel\_modules 427.. program:: clang 428 429.. option:: -preload 430 431.. option:: --print-diagnostic-categories 432 433.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg> 434 435Print the full library path of <file> 436 437.. option:: -print-ivar-layout 438 439Enable Objective-C Ivar layout bitmap print trace 440 441.. option:: -print-libgcc-file-name, --print-libgcc-file-name 442 443Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a") 444 445.. option:: -print-multi-directory, --print-multi-directory 446 447.. option:: -print-multi-lib, --print-multi-lib 448 449.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg> 450 451Print the full program path of <name> 452 453.. option:: -print-resource-dir, --print-resource-dir 454 455Print the resource directory pathname 456 457.. option:: -print-search-dirs, --print-search-dirs 458 459Print the paths used for finding libraries and programs 460 461.. option:: -private\_bundle 462 463.. option:: -pthread, -no-pthread 464 465Support POSIX threads in generated code 466 467.. option:: -pthreads 468 469.. option:: -rdynamic 470 471.. option:: -read\_only\_relocs <arg> 472 473.. option:: -relocatable-pch, --relocatable-pch 474 475Whether to build a relocatable precompiled header 476 477.. option:: -remap 478 479.. option:: -rewrite-legacy-objc 480 481Rewrite Legacy Objective-C source to C++ 482 483.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg> 484 485Compiler runtime library to use 486 487.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd) 488 489Save llvm statistics. 490 491.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd) 492 493Save intermediate compilation results. 494 495.. option:: -sectalign <arg1> <arg2> <arg3> 496 497.. option:: -sectcreate <arg1> <arg2> <arg3> 498 499.. option:: -sectobjectsymbols <arg1> <arg2> 500 501.. option:: -sectorder <arg1> <arg2> <arg3> 502 503.. option:: -seg1addr<arg> 504 505.. option:: -seg\_addr\_table <arg> 506 507.. program:: clang1 508.. option:: -seg\_addr\_table\_filename <arg> 509.. program:: clang 510 511.. option:: -segaddr <arg1> <arg2> 512 513.. option:: -segcreate <arg1> <arg2> <arg3> 514 515.. option:: -seglinkedit 516 517.. option:: -segprot <arg1> <arg2> <arg3> 518 519.. option:: -segs\_read\_<arg> 520 521.. program:: clang1 522.. option:: -segs\_read\_only\_addr <arg> 523.. program:: clang 524 525.. program:: clang2 526.. option:: -segs\_read\_write\_addr <arg> 527.. program:: clang 528 529.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg> 530 531Serialize compiler diagnostics to a file 532 533.. option:: -shared, --shared 534 535.. option:: -shared-libgcc 536 537.. option:: -shared-libsan, -shared-libasan 538 539.. option:: -single\_module 540 541.. option:: -specs=<arg>, --specs=<arg> 542 543.. option:: -static, --static 544 545.. option:: -static-libgcc 546 547.. option:: -static-libsan 548 549.. option:: -static-libstdc++ 550 551.. option:: -std-default=<arg> 552 553.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg> 554 555C++ standard library to use 556 557.. option:: -sub\_library<arg> 558 559.. program:: clang1 560.. option:: -sub\_umbrella<arg> 561.. program:: clang 562 563.. option:: --sysroot=<arg>, --sysroot <arg> 564 565.. option:: --target-help 566 567.. option:: --target=<arg>, -target <arg> 568 569Generate code for the given target 570 571.. option:: -time 572 573Time individual commands 574 575.. option:: -traditional, --traditional 576 577.. option:: -traditional-cpp, --traditional-cpp 578 579Enable some traditional CPP emulation 580 581.. option:: -twolevel\_namespace 582 583.. program:: clang1 584.. option:: -twolevel\_namespace\_hints 585.. program:: clang 586 587.. option:: -umbrella <arg> 588 589.. option:: -unexported\_symbols\_list <arg> 590 591.. option:: -v, --verbose 592 593Show commands to run and use verbose output 594 595.. option:: --verify-debug-info 596 597Verify the binary representation of debug output 598 599.. option:: --version 600 601Print version information 602 603.. option:: -w, --no-warnings 604 605Suppress all warnings 606 607.. option:: -weak-l<arg> 608 609.. option:: -weak\_framework <arg> 610 611.. program:: clang1 612.. option:: -weak\_library <arg> 613.. program:: clang 614 615.. program:: clang2 616.. option:: -weak\_reference\_mismatches <arg> 617.. program:: clang 618 619.. option:: -whatsloaded 620 621.. option:: -whyload 622 623.. option:: -working-directory<arg>, -working-directory=<arg> 624 625Resolve file paths relative to the specified directory 626 627.. option:: -x<language>, --language <arg>, --language=<arg> 628 629Treat subsequent input files as having type <language> 630 631.. option:: -y<arg> 632 633Actions 634======= 635The action to perform on the input. 636 637.. option:: -E, --preprocess 638 639Only run the preprocessor 640 641.. option:: -S, --assemble 642 643Only run preprocess and compilation steps 644 645.. option:: -c, --compile 646 647Only run preprocess, compile, and assemble steps 648 649.. option:: -emit-llvm 650 651Use the LLVM representation for assembler and object files 652 653.. option:: -fsyntax-only 654 655.. option:: -module-file-info 656 657Provide information about a particular module file 658 659.. option:: --precompile 660 661Only precompile the input 662 663.. option:: -rewrite-objc 664 665Rewrite Objective-C source to C++ 666 667.. option:: -verify-pch 668 669Load and verify that a pre-compiled header file is not stale 670 671Compilation flags 672================= 673 674Flags controlling the behavior of Clang during compilation. These flags have 675no effect during actions that do not perform compilation. 676 677.. option:: -Xassembler <arg> 678 679Pass <arg> to the assembler 680 681.. option:: -Xclang <arg> 682 683Pass <arg> to the clang compiler 684 685.. option:: -fclang-abi-compat=<version> 686 687Attempt to match the ABI of Clang <version> 688 689.. option:: -fcomment-block-commands=<arg>,<arg2>... 690 691Treat each comma separated argument in <arg> as a documentation comment block command 692 693.. option:: -fdeclspec, -fno-declspec 694 695Allow \_\_declspec as a keyword 696 697.. option:: -fdepfile-entry=<arg> 698 699.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info 700 701.. option:: -fdiagnostics-format=<arg> 702 703.. option:: -fdiagnostics-parseable-fixits 704 705Print fix-its in machine parseable form 706 707.. option:: -fdiagnostics-print-source-range-info 708 709Print source range spans in numeric form 710 711.. option:: -fdiagnostics-show-category=<arg> 712 713.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager 714 715Enables an experimental new pass manager in LLVM. 716 717.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses 718 719Use separate accesses for bitfields with legal widths and alignments. 720 721.. option:: -finline-functions, -fno-inline-functions 722 723Inline suitable functions 724 725.. option:: -finline-hint-functions 726 727Inline functions which are (explicitly or implicitly) marked inline 728 729.. option:: -fno-crash-diagnostics 730 731Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash 732 733.. option:: -fno-sanitize-blacklist 734 735Don't use blacklist file for sanitizers 736 737.. option:: -fparse-all-comments 738 739.. option:: -fsanitize-address-field-padding=<arg> 740 741Level of field padding for AddressSanitizer 742 743.. option:: -fsanitize-address-globals-dead-stripping 744 745Enable linker dead stripping of globals in AddressSanitizer 746 747.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope 748 749Enable use-after-scope detection in AddressSanitizer 750 751.. option:: -fsanitize-blacklist=<arg> 752 753Path to blacklist file for sanitizers 754 755.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso 756 757Enable control flow integrity (CFI) checks for cross-DSO calls. 758 759.. option:: -fsanitize-cfi-icall-generalize-pointers 760 761Generalize pointers in CFI indirect call type signature checks 762 763.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>... 764 765Specify the type of coverage instrumentation for Sanitizers 766 767.. option:: -fsanitize-link-c++-runtime 768 769.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins 770 771Enable origins tracking in MemorySanitizer 772 773.. program:: clang1 774.. option:: -fsanitize-memory-track-origins=<arg> 775.. program:: clang 776 777Enable origins tracking in MemorySanitizer 778 779.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor 780 781Enable use-after-destroy detection in MemorySanitizer 782 783.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime 784 785.. option:: -fsanitize-recover, -fno-sanitize-recover 786 787.. program:: clang1 788.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>... 789.. program:: clang 790 791Enable recovery for specified sanitizers 792 793.. option:: -fsanitize-stats, -fno-sanitize-stats 794 795Enable sanitizer statistics gathering. 796 797.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics 798 799Enable atomic operations instrumentation in ThreadSanitizer (default) 800 801.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit 802 803Enable function entry/exit instrumentation in ThreadSanitizer (default) 804 805.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access 806 807Enable memory access instrumentation in ThreadSanitizer (default) 808 809.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>... 810 811Enable trapping for specified sanitizers 812 813.. option:: -fsanitize-undefined-strip-path-components=<number> 814 815Strip (or keep only, if negative) a given number of path components when emitting check metadata. 816 817.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error 818 819.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>... 820 821Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks 822 823.. option:: --param <arg>, --param=<arg> 824 825.. option:: -std=<arg>, --std=<arg>, --std <arg> 826 827Language standard to compile for 828 829Preprocessor flags 830~~~~~~~~~~~~~~~~~~ 831 832Flags controlling the behavior of the Clang preprocessor. 833 834.. option:: -C, --comments 835 836Include comments in preprocessed output 837 838.. option:: -CC, --comments-in-macros 839 840Include comments from within macros in preprocessed output 841 842.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg> 843 844Define <macro> to <value> (or 1 if <value> omitted) 845 846.. option:: -H, --trace-includes 847 848Show header includes and nesting depth 849 850.. option:: -P, --no-line-commands 851 852Disable linemarker output in -E mode 853 854.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg> 855 856Undefine macro <macro> 857 858.. option:: -Wp,<arg>,<arg2>... 859 860Pass the comma separated arguments in <arg> to the preprocessor 861 862.. option:: -Xpreprocessor <arg> 863 864Pass <arg> to the preprocessor 865 866Include path management 867----------------------- 868 869Flags controlling how ``#include``\s are resolved to files. 870 871.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg> 872 873Add directory to include search path 874 875.. option:: -I-, --include-barrier 876 877Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path 878 879.. option:: --cuda-path=<arg> 880 881CUDA installation path 882 883.. option:: -cxx-isystem<directory> 884 885Add directory to the C++ SYSTEM include search path 886 887.. option:: -fbuild-session-file=<file> 888 889Use the last modification time of <file> as the build session timestamp 890 891.. option:: -fbuild-session-timestamp=<time since Epoch in seconds> 892 893Time when the current build session started 894 895.. option:: -fmodule-file=\[<name>=\]<file> 896 897Specify the mapping of module name to precompiled module file, or load a module file if name is omitted. 898 899.. option:: -fmodules-cache-path=<directory> 900 901Specify the module cache path 902 903.. option:: -fmodules-disable-diagnostic-validation 904 905Disable validation of the diagnostic options when loading the module 906 907.. option:: -fmodules-prune-after=<seconds> 908 909Specify the interval (in seconds) after which a module file will be considered unused 910 911.. option:: -fmodules-prune-interval=<seconds> 912 913Specify the interval (in seconds) between attempts to prune the module cache 914 915.. option:: -fmodules-user-build-path <directory> 916 917Specify the module user build path 918 919.. option:: -fmodules-validate-once-per-build-session 920 921Don't verify input files for the modules if the module has been successfully validated or loaded during this build session 922 923.. option:: -fmodules-validate-system-headers 924 925Validate the system headers that a module depends on when loading the module 926 927.. option:: -fprebuilt-module-path=<directory> 928 929Specify the prebuilt module path 930 931.. option:: -i<arg> 932 933.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg> 934 935Add directory to AFTER include search path 936 937.. option:: -iframework<arg> 938 939Add directory to SYSTEM framework search path 940 941.. option:: -iframeworkwithsysroot<directory> 942 943Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot 944 945.. option:: -imacros<file>, --imacros<file>, --imacros=<arg> 946 947Include macros from file before parsing 948 949.. option:: -include<file>, --include<file>, --include=<arg> 950 951Include file before parsing 952 953.. option:: -include-pch <file> 954 955Include precompiled header file 956 957.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg> 958 959Set the -iwithprefix/-iwithprefixbefore prefix 960 961.. option:: -iquote<directory> 962 963Add directory to QUOTE include search path 964 965.. option:: -isysroot<dir> 966 967Set the system root directory (usually /) 968 969.. option:: -isystem<directory> 970 971Add directory to SYSTEM include search path 972 973.. option:: -isystem-after<directory> 974 975Add directory to end of the SYSTEM include search path 976 977.. option:: -ivfsoverlay<arg> 978 979Overlay the virtual filesystem described by file over the real file system 980 981.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg> 982 983Set directory to SYSTEM include search path with prefix 984 985.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg> 986 987Set directory to include search path with prefix 988 989.. option:: -iwithsysroot<directory> 990 991Add directory to SYSTEM include search path, absolute paths are relative to -isysroot 992 993.. option:: --ptxas-path=<arg> 994 995Path to ptxas (used for compiling CUDA code) 996 997.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg> 998 999Treat all #include paths starting with <prefix> as including a system header. 1000 1001Dependency file generation 1002-------------------------- 1003 1004Flags controlling generation of a dependency file for ``make``-like build 1005systems. 1006 1007.. option:: -M, --dependencies 1008 1009Like -MD, but also implies -E and writes to stdout by default 1010 1011.. option:: -MD, --write-dependencies 1012 1013Write a depfile containing user and system headers 1014 1015.. option:: -MF<file> 1016 1017Write depfile output from -MMD, -MD, -MM, or -M to <file> 1018 1019.. option:: -MG, --print-missing-file-dependencies 1020 1021Add missing headers to depfile 1022 1023.. option:: -MJ<arg> 1024 1025Write a compilation database entry per input 1026 1027.. option:: -MM, --user-dependencies 1028 1029Like -MMD, but also implies -E and writes to stdout by default 1030 1031.. option:: -MMD, --write-user-dependencies 1032 1033Write a depfile containing user headers 1034 1035.. option:: -MP 1036 1037Create phony target for each dependency (other than main file) 1038 1039.. option:: -MQ<arg> 1040 1041Specify name of main file output to quote in depfile 1042 1043.. option:: -MT<arg> 1044 1045Specify name of main file output in depfile 1046 1047.. option:: -MV 1048 1049Use NMake/Jom format for the depfile 1050 1051Dumping preprocessor state 1052-------------------------- 1053 1054Flags allowing the state of the preprocessor to be dumped in various ways. 1055 1056.. option:: -d 1057 1058.. program:: clang1 1059.. option:: -d<arg> 1060.. program:: clang 1061 1062.. option:: -dA 1063 1064.. option:: -dD 1065 1066Print macro definitions in -E mode in addition to normal output 1067 1068.. option:: -dI 1069 1070Print include directives in -E mode in addition to normal output 1071 1072.. option:: -dM 1073 1074Print macro definitions in -E mode instead of normal output 1075 1076Diagnostic flags 1077~~~~~~~~~~~~~~~~ 1078 1079Flags controlling which warnings, errors, and remarks Clang will generate. 1080See the :doc:`full list of warning and remark flags <DiagnosticsReference>`. 1081 1082.. option:: -R<remark> 1083 1084Enable the specified remark 1085 1086.. option:: -Rpass-analysis=<arg> 1087 1088Report transformation analysis from optimization passes whose name matches the given POSIX regular expression 1089 1090.. option:: -Rpass-missed=<arg> 1091 1092Report missed transformations by optimization passes whose name matches the given POSIX regular expression 1093 1094.. option:: -Rpass=<arg> 1095 1096Report transformations performed by optimization passes whose name matches the given POSIX regular expression 1097 1098.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg> 1099 1100Enable the specified warning 1101 1102.. option:: -Wdeprecated, -Wno-deprecated 1103 1104Enable warnings for deprecated constructs and define \_\_DEPRECATED 1105 1106.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg> 1107 1108Target-independent compilation options 1109~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1110.. option:: -Wframe-larger-than=<arg> 1111 1112.. option:: -fPIC, -fno-PIC 1113 1114.. option:: -fPIE, -fno-PIE 1115 1116.. option:: -faccess-control, -fno-access-control 1117 1118.. program:: clang1 1119.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation 1120.. program:: clang 1121 1122Enable C++17 aligned allocation functions 1123 1124.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders 1125 1126Treat editor placeholders as valid source code 1127 1128.. option:: -fallow-unsupported 1129 1130.. option:: -faltivec, -fno-altivec 1131 1132.. option:: -fansi-escape-codes 1133 1134Use ANSI escape codes for diagnostics 1135 1136.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables 1137 1138Use Apple's kernel extensions ABI 1139 1140.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack 1141 1142Enable Apple gcc-compatible #pragma pack handling 1143 1144.. option:: -fapplication-extension, -fno-application-extension 1145 1146Restrict code to those available for App Extensions 1147 1148.. option:: -fasm, -fno-asm 1149 1150.. option:: -fasm-blocks, -fno-asm-blocks 1151 1152.. option:: -fassociative-math, -fno-associative-math 1153 1154.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new 1155 1156.. option:: -fast 1157 1158.. option:: -fastcp 1159 1160.. option:: -fastf 1161 1162.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables 1163 1164.. option:: -fautolink, -fno-autolink 1165 1166.. option:: -fblocks, -fno-blocks 1167 1168Enable the 'blocks' language feature 1169 1170.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg> 1171 1172.. option:: -fborland-extensions, -fno-borland-extensions 1173 1174Accept non-standard constructs supported by the Borland compiler 1175 1176.. option:: -fbracket-depth=<arg> 1177 1178.. option:: -fbuiltin, -fno-builtin 1179 1180.. option:: -fbuiltin-module-map 1181 1182Load the clang builtins module map file. 1183 1184.. option:: -fcaret-diagnostics, -fno-caret-diagnostics 1185 1186.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full) 1187 1188Instrument control-flow architecture protection. Options: return, branch, full, none. 1189 1190.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg> 1191 1192.. option:: -fcolor-diagnostics, -fno-color-diagnostics 1193 1194Use colors in diagnostics 1195 1196.. option:: -fcommon, -fno-common 1197 1198.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg> 1199 1200.. option:: -fconstant-cfstrings, -fno-constant-cfstrings 1201 1202.. option:: -fconstant-string-class=<arg> 1203 1204.. option:: -fconstexpr-backtrace-limit=<arg> 1205 1206.. option:: -fconstexpr-depth=<arg> 1207 1208.. option:: -fconstexpr-steps=<arg> 1209 1210.. option:: -fcoroutines-ts, -fno-coroutines-ts 1211 1212Enable support for the C++ Coroutines TS 1213 1214.. option:: -fcoverage-mapping, -fno-coverage-mapping 1215 1216Generate coverage mapping to enable code coverage analysis 1217 1218.. option:: -fcreate-profile 1219 1220.. option:: -fcxx-exceptions, -fno-cxx-exceptions 1221 1222Enable C++ exceptions 1223 1224.. option:: -fcxx-modules, -fno-cxx-modules 1225 1226.. option:: -fdata-sections, -fno-data-sections 1227 1228Place each data in its own section (ELF Only) 1229 1230.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling 1231 1232Emit extra debug info to make sample profile more accurate. 1233 1234.. option:: -fdebug-macro, -fno-debug-macro 1235 1236Emit macro debug information 1237 1238.. option:: -fdebug-pass-arguments 1239 1240.. option:: -fdebug-pass-structure 1241 1242.. option:: -fdebug-prefix-map=<arg> 1243 1244remap file source paths in debug info 1245 1246.. option:: -fdebug-types-section, -fno-debug-types-section 1247 1248Place debug types in their own section (ELF Only) 1249 1250.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing 1251 1252Parse templated function definitions at the end of the translation unit 1253 1254.. option:: -fdenormal-fp-math=<arg> 1255 1256.. option:: -fdiagnostics-absolute-paths 1257 1258Print absolute paths in diagnostics 1259 1260.. option:: -fdiagnostics-color, -fno-diagnostics-color 1261 1262.. program:: clang1 1263.. option:: -fdiagnostics-color=<arg> 1264.. program:: clang 1265 1266.. option:: -fdiagnostics-hotness-threshold=<number> 1267 1268Prevent optimization remarks from being output if they do not have at least this profile count 1269 1270.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness 1271 1272Enable profile hotness information in diagnostic line 1273 1274.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack 1275 1276Display include stacks for diagnostic notes 1277 1278.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option 1279 1280Print option name with mappable diagnostics 1281 1282.. option:: -fdiagnostics-show-template-tree 1283 1284Print a template comparison tree for differing templates 1285 1286.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers 1287 1288Allow '$' in identifiers 1289 1290.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes 1291 1292Enable '\[\[\]\]' attributes in all C and C++ language modes 1293 1294.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm 1295 1296.. option:: -fdwarf-exceptions 1297 1298Use DWARF style exceptions 1299 1300.. option:: -felide-constructors, -fno-elide-constructors 1301 1302.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols 1303 1304.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker) 1305 1306Embed LLVM bitcode (option: off, all, bitcode, marker) 1307 1308.. option:: -femit-all-decls 1309 1310Emit all declarations, even if unused 1311 1312.. option:: -femulated-tls, -fno-emulated-tls 1313 1314Use emutls functions to access thread\_local variables 1315 1316.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg> 1317 1318.. option:: -ferror-limit=<arg> 1319 1320.. option:: -fexceptions, -fno-exceptions 1321 1322Enable support for exception handling 1323 1324.. option:: -fexec-charset=<arg> 1325 1326.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg> 1327 1328.. option:: -ffast-math, -fno-fast-math 1329 1330Allow aggressive, lossy floating-point optimizations 1331 1332.. option:: -ffinite-math-only, -fno-finite-math-only 1333 1334.. option:: -ffor-scope, -fno-for-scope 1335 1336.. option:: -ffp-contract=<arg> 1337 1338Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse) 1339 1340.. option:: -ffreestanding 1341 1342Assert that the compilation takes place in a freestanding environment 1343 1344.. option:: -ffunction-sections, -fno-function-sections 1345 1346Place each function in its own section (ELF Only) 1347 1348.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm 1349 1350.. option:: -fgnu-keywords, -fno-gnu-keywords 1351 1352Allow GNU-extension keywords regardless of language standard 1353 1354.. option:: -fgnu-runtime 1355 1356Generate output compatible with the standard GNU Objective-C runtime 1357 1358.. option:: -fgnu89-inline, -fno-gnu89-inline 1359 1360Use the gnu89 inline semantics 1361 1362.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities 1363 1364.. option:: -fhonor-nans, -fno-honor-nans 1365 1366.. option:: -fhosted 1367 1368.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps 1369 1370Implicitly search the file system for module map files. 1371 1372.. option:: -fimplicit-modules, -fno-implicit-modules 1373 1374.. option:: -finput-charset=<arg> 1375 1376.. option:: -finstrument-function-entry-bare 1377 1378Instrument function entry only, after inlining, without arguments to the instrumentation call 1379 1380.. option:: -finstrument-functions 1381 1382Generate calls to instrument function entry and exit 1383 1384.. option:: -finstrument-functions-after-inlining 1385 1386Like -finstrument-functions, but insert the calls after inlining 1387 1388.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as 1389 1390Enable the integrated assembler 1391 1392.. option:: -fjump-tables, -fno-jump-tables 1393 1394.. option:: -flax-vector-conversions, -fno-lax-vector-conversions 1395 1396.. option:: -flimited-precision=<arg> 1397 1398.. option:: -flto, -fno-lto 1399 1400Enable LTO in 'full' mode 1401 1402.. option:: -flto-jobs=<arg> 1403 1404Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected) 1405 1406.. program:: clang1 1407.. option:: -flto=<arg> 1408.. program:: clang 1409 1410Set LTO mode to either 'full' or 'thin' 1411 1412.. option:: -fmacro-backtrace-limit=<arg> 1413 1414.. option:: -fmath-errno, -fno-math-errno 1415 1416Require math functions to indicate errors by setting errno 1417 1418.. option:: -fmax-type-align=<arg> 1419 1420Specify the maximum alignment to enforce on pointers lacking an explicit alignment 1421 1422.. option:: -fmerge-all-constants, -fno-merge-all-constants 1423 1424.. option:: -fmessage-length=<arg> 1425 1426.. option:: -fmodule-file-deps, -fno-module-file-deps 1427 1428.. option:: -fmodule-map-file=<file> 1429 1430Load this module map file 1431 1432.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg> 1433 1434Specify the name of the module to build 1435 1436.. option:: -fmodules, -fno-modules 1437 1438Enable the 'modules' language feature 1439 1440.. option:: -fmodules-decluse, -fno-modules-decluse 1441 1442Require declaration of modules used within a module 1443 1444.. option:: -fmodules-ignore-macro=<arg> 1445 1446Ignore the definition of the given macro when building and loading modules 1447 1448.. option:: -fmodules-search-all, -fno-modules-search-all 1449 1450Search even non-imported modules to resolve references 1451 1452.. option:: -fmodules-strict-decluse 1453 1454Like -fmodules-decluse but requires all headers to be in modules 1455 1456.. option:: -fmodules-ts 1457 1458Enable support for the C++ Modules TS 1459 1460.. option:: -fms-compatibility, -fno-ms-compatibility 1461 1462Enable full Microsoft Visual C++ compatibility 1463 1464.. option:: -fms-compatibility-version=<arg> 1465 1466Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) 1467 1468.. option:: -fms-extensions, -fno-ms-extensions 1469 1470Accept some non-standard constructs supported by the Microsoft compiler 1471 1472.. option:: -fms-memptr-rep=<arg> 1473 1474.. option:: -fms-volatile<arg> 1475 1476.. option:: -fmsc-version=<arg> 1477 1478Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) 1479 1480.. option:: -fmudflap 1481 1482.. option:: -fmudflapth 1483 1484.. option:: -fnested-functions 1485 1486.. option:: -fnew-alignment=<align>, -fnew-alignment <arg> 1487 1488Specifies the largest alignment guaranteed by '::operator new(size\_t)' 1489 1490.. option:: -fnext-runtime 1491 1492.. option:: -fno-builtin-<arg> 1493 1494Disable implicit builtin knowledge of a specific function 1495 1496.. option:: -fno-elide-type 1497 1498Do not elide types when printing diagnostics 1499 1500.. option:: -fno-max-type-align 1501 1502.. option:: -fno-operator-names 1503 1504Do not treat C++ operator name keywords as synonyms for operators 1505 1506.. option:: -fno-strict-modules-decluse 1507 1508.. option:: -fno-working-directory 1509 1510.. option:: -fnoopenmp-relocatable-target 1511 1512Do not compile OpenMP target code as relocatable. 1513 1514.. option:: -fnoopenmp-use-tls 1515 1516.. option:: -fobjc-abi-version=<arg> 1517 1518.. option:: -fobjc-arc, -fno-objc-arc 1519 1520Synthesize retain and release calls for Objective-C pointers 1521 1522.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions 1523 1524Use EH-safe code when synthesizing retains and releases in -fobjc-arc 1525 1526.. option:: -fobjc-exceptions, -fno-objc-exceptions 1527 1528Enable Objective-C exceptions 1529 1530.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type 1531 1532.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch 1533 1534.. option:: -fobjc-link-runtime 1535 1536.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi 1537 1538.. option:: -fobjc-nonfragile-abi-version=<arg> 1539 1540.. option:: -fobjc-runtime=<arg> 1541 1542Specify the target Objective-C runtime kind and version 1543 1544.. option:: -fobjc-sender-dependent-dispatch 1545 1546.. option:: -fobjc-weak, -fno-objc-weak 1547 1548Enable ARC-style weak references in Objective-C 1549 1550.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer 1551 1552.. option:: -fopenmp, -fno-openmp 1553 1554.. option:: -fopenmp-dump-offload-linker-script 1555 1556.. option:: -fopenmp-relocatable-target 1557 1558OpenMP target code is compiled as relocatable using the -c flag. For OpenMP targets the code is relocatable by default. 1559 1560.. option:: -fopenmp-simd, -fno-openmp-simd 1561 1562Emit OpenMP code only for SIMD-based constructs. 1563 1564.. option:: -fopenmp-use-tls 1565 1566.. option:: -fopenmp-version=<arg> 1567 1568.. program:: clang1 1569.. option:: -fopenmp=<arg> 1570.. program:: clang 1571 1572.. option:: -foperator-arrow-depth=<arg> 1573 1574.. option:: -foptimization-record-file=<arg> 1575 1576Specify the file name of any generated YAML optimization record 1577 1578.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls 1579 1580.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg> 1581 1582.. option:: -fpack-struct, -fno-pack-struct 1583 1584.. program:: clang1 1585.. option:: -fpack-struct=<arg> 1586.. program:: clang 1587 1588Specify the default maximum struct packing alignment 1589 1590.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings 1591 1592Recognize and construct Pascal-style string literals 1593 1594.. option:: -fpcc-struct-return 1595 1596Override the default ABI to return all structs on the stack 1597 1598.. option:: -fpch-preprocess 1599 1600.. option:: -fpic, -fno-pic 1601 1602.. option:: -fpie, -fno-pie 1603 1604.. option:: -fplt, -fno-plt 1605 1606Use the PLT to make function calls 1607 1608.. option:: -fplugin=<dsopath> 1609 1610Load the named plugin (dynamic shared object) 1611 1612.. option:: -fpreserve-as-comments, -fno-preserve-as-comments 1613 1614.. option:: -fprofile-arcs, -fno-profile-arcs 1615 1616.. option:: -fprofile-dir=<arg> 1617 1618.. option:: -fprofile-generate, -fno-profile-generate 1619 1620Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1621 1622.. program:: clang1 1623.. option:: -fprofile-generate=<directory> 1624.. program:: clang 1625 1626Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1627 1628.. option:: -fprofile-instr-generate, -fno-profile-instr-generate 1629 1630Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) 1631 1632.. program:: clang1 1633.. option:: -fprofile-instr-generate=<file> 1634.. program:: clang 1635 1636Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var) 1637 1638.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use 1639 1640.. program:: clang1 1641.. option:: -fprofile-instr-use=<arg> 1642.. program:: clang 1643 1644Use instrumentation data for profile-guided optimization 1645 1646.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate 1647 1648Specifies that the sample profile is accurate. If the sample 1649 profile is accurate, callsites without profile samples are marked 1650 as cold. Otherwise, treat callsites without profile samples as if 1651 we have no profile 1652 1653.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use 1654 1655.. program:: clang1 1656.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg> 1657.. program:: clang 1658 1659Enable sample-based profile guided optimizations 1660 1661.. program:: clang1 1662.. option:: -fprofile-use=<pathname> 1663.. program:: clang 1664 1665Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>. 1666 1667.. option:: -freciprocal-math, -fno-reciprocal-math 1668 1669Allow division operations to be reassociated 1670 1671.. option:: -freg-struct-return 1672 1673Override the default ABI to return small structs in registers 1674 1675.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args 1676 1677Enable C++17 relaxed template template argument matching 1678 1679.. option:: -freroll-loops, -fno-reroll-loops 1680 1681Turn on loop reroller 1682 1683.. option:: -fretain-comments-from-system-headers 1684 1685.. option:: -frewrite-imports, -fno-rewrite-imports 1686 1687.. option:: -frewrite-includes, -fno-rewrite-includes 1688 1689.. option:: -frewrite-map-file <arg> 1690 1691.. program:: clang1 1692.. option:: -frewrite-map-file=<arg> 1693.. program:: clang 1694 1695.. option:: -fropi, -fno-ropi 1696 1697.. option:: -frtti, -fno-rtti 1698 1699.. option:: -frwpi, -fno-rwpi 1700 1701.. option:: -fsave-optimization-record, -fno-save-optimization-record 1702 1703Generate a YAML optimization record file 1704 1705.. option:: -fseh-exceptions 1706 1707Use SEH style exceptions 1708 1709.. option:: -fshort-enums, -fno-short-enums 1710 1711Allocate to an enum type only as many bytes as it needs for the declared range of possible values 1712 1713.. option:: -fshort-wchar, -fno-short-wchar 1714 1715Force wchar\_t to be a short unsigned int 1716 1717.. option:: -fshow-column, -fno-show-column 1718 1719.. option:: -fshow-overloads=<arg> 1720 1721Which overload candidates to show when overload resolution fails: best\|all; defaults to all 1722 1723.. option:: -fshow-source-location, -fno-show-source-location 1724 1725.. option:: -fsignaling-math, -fno-signaling-math 1726 1727.. option:: -fsigned-bitfields 1728 1729.. option:: -fsigned-char, -fno-signed-char, --signed-char 1730 1731.. option:: -fsigned-zeros, -fno-signed-zeros 1732 1733.. option:: -fsized-deallocation, -fno-sized-deallocation 1734 1735Enable C++14 sized global deallocation functions 1736 1737.. option:: -fsjlj-exceptions 1738 1739Use SjLj style exceptions 1740 1741.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize 1742 1743Enable the superword-level parallelism vectorization passes 1744 1745.. option:: -fspell-checking, -fno-spell-checking 1746 1747.. option:: -fspell-checking-limit=<arg> 1748 1749.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining 1750 1751Place debug types in their own section (ELF Only) 1752 1753.. option:: -fsplit-stack 1754 1755.. option:: -fstack-protector, -fno-stack-protector 1756 1757Enable stack protectors for functions potentially vulnerable to stack smashing 1758 1759.. option:: -fstack-protector-all 1760 1761Force the usage of stack protectors for all functions 1762 1763.. option:: -fstack-protector-strong 1764 1765Use a strong heuristic to apply stack protectors to functions 1766 1767.. option:: -fstack-size-section, -fno-stack-size-section 1768 1769Emit section containing metadata on function stack sizes 1770 1771.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug 1772 1773Emit full debug info for all types used by the program 1774 1775.. option:: -fstrict-aliasing, -fno-strict-aliasing 1776 1777.. option:: -fstrict-enums, -fno-strict-enums 1778 1779Enable optimizations based on the strict definition of an enum's value range 1780 1781.. option:: -fstrict-overflow, -fno-strict-overflow 1782 1783.. option:: -fstrict-return, -fno-strict-return 1784 1785Always treat control flow paths that fall off the end of a non-void function as unreachable 1786 1787.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers 1788 1789Enable optimizations based on the strict rules for overwriting polymorphic C++ objects 1790 1791.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa 1792 1793.. option:: -ftabstop=<arg> 1794 1795.. option:: -ftemplate-backtrace-limit=<arg> 1796 1797.. option:: -ftemplate-depth-<arg> 1798 1799.. option:: -ftemplate-depth=<arg> 1800 1801.. option:: -ftest-coverage 1802 1803.. option:: -fthinlto-index=<arg> 1804 1805Perform ThinLTO importing using provided function summary index 1806 1807.. option:: -fthreadsafe-statics, -fno-threadsafe-statics 1808 1809.. option:: -ftime-report 1810 1811.. option:: -ftls-model=<arg> 1812 1813.. option:: -ftrap-function=<arg> 1814 1815Issue call to specified function rather than a trap instruction 1816 1817.. option:: -ftrapping-math, -fno-trapping-math 1818 1819.. option:: -ftrapv 1820 1821Trap on integer overflow 1822 1823.. option:: -ftrapv-handler <arg> 1824 1825.. program:: clang1 1826.. option:: -ftrapv-handler=<function name> 1827.. program:: clang 1828 1829Specify the function to be called on overflow 1830 1831.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs 1832 1833Process trigraph sequences 1834 1835.. option:: -funique-section-names, -fno-unique-section-names 1836 1837Use unique names for text and data sections (ELF Only) 1838 1839.. option:: -funit-at-a-time, -fno-unit-at-a-time 1840 1841.. option:: -funroll-loops, -fno-unroll-loops 1842 1843Turn on loop unroller 1844 1845.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations 1846 1847.. option:: -funsigned-bitfields 1848 1849.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char 1850 1851.. option:: -funwind-tables, -fno-unwind-tables 1852 1853.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit 1854 1855.. option:: -fuse-init-array, -fno-use-init-array 1856 1857Use .init\_array instead of .ctors 1858 1859.. option:: -fuse-ld=<arg> 1860 1861.. option:: -fuse-line-directives, -fno-use-line-directives 1862 1863.. option:: -fveclib=<arg> 1864 1865Use the given vector functions library 1866 1867.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize 1868 1869Enable the loop vectorization passes 1870 1871.. option:: -fverbose-asm, -fno-verbose-asm 1872 1873.. option:: -fvisibility-inlines-hidden 1874 1875Give inline C++ member functions default visibility by default 1876 1877.. option:: -fvisibility-ms-compat 1878 1879Give global types 'default' visibility and global functions and variables 'hidden' visibility by default 1880 1881.. option:: -fvisibility=<arg> 1882 1883Set the default symbol visibility for all global declarations 1884 1885.. option:: -fwhole-program-vtables, -fno-whole-program-vtables 1886 1887Enables whole-program vtable optimization. Requires -flto 1888 1889.. option:: -fwrapv, -fno-wrapv 1890 1891Treat signed integer overflow as two's complement 1892 1893.. option:: -fwritable-strings 1894 1895Store string literals as writable data 1896 1897.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents 1898 1899Determine whether to always emit \_\_xray\_customevent(...) calls even if the function it appears in is not always instrumented. 1900 1901.. option:: -fxray-always-instrument=<arg> 1902 1903Filename defining the whitelist for imbuing the 'always instrument' XRay attribute. 1904 1905.. option:: -fxray-instruction-threshold<arg> 1906 1907.. program:: clang1 1908.. option:: -fxray-instruction-threshold=<arg> 1909.. program:: clang 1910 1911Sets the minimum function size to instrument with XRay 1912 1913.. option:: -fxray-instrument, -fno-xray-instrument 1914 1915Generate XRay instrumentation sleds on function entry and exit 1916 1917.. option:: -fxray-never-instrument=<arg> 1918 1919Filename defining the whitelist for imbuing the 'never instrument' XRay attribute. 1920 1921.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss 1922 1923.. option:: -fzvector, -fno-zvector, -mzvector 1924 1925Enable System z vector language extension 1926 1927.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic 1928 1929.. option:: -pedantic-errors, --pedantic-errors 1930 1931OpenCL flags 1932------------ 1933.. option:: -cl-denorms-are-zero 1934 1935OpenCL only. Allow denormals to be flushed to zero. 1936 1937.. option:: -cl-fast-relaxed-math 1938 1939OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_. 1940 1941.. option:: -cl-finite-math-only 1942 1943OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf. 1944 1945.. option:: -cl-fp32-correctly-rounded-divide-sqrt 1946 1947OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded. 1948 1949.. option:: -cl-kernel-arg-info 1950 1951OpenCL only. Generate kernel argument metadata. 1952 1953.. option:: -cl-mad-enable 1954 1955OpenCL only. Allow use of less precise MAD computations in the generated binary. 1956 1957.. option:: -cl-no-signed-zeros 1958 1959OpenCL only. Allow use of less precise no signed zeros computations in the generated binary. 1960 1961.. option:: -cl-opt-disable 1962 1963OpenCL only. This option disables all optimizations. By default optimizations are enabled. 1964 1965.. option:: -cl-single-precision-constant 1966 1967OpenCL only. Treat double precision floating-point constant as single precision constant. 1968 1969.. option:: -cl-std=<arg> 1970 1971OpenCL language standard to compile for. 1972 1973.. option:: -cl-strict-aliasing 1974 1975OpenCL only. This option is added for compatibility with OpenCL 1.0. 1976 1977.. option:: -cl-unsafe-math-optimizations 1978 1979OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable. 1980 1981Target-dependent compilation options 1982~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1983.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg> 1984 1985Put objects of at most <size> bytes into small data section (MIPS / Hexagon) 1986 1987.. option:: -m16 1988 1989.. option:: -m32 1990 1991.. option:: -m64 1992 1993.. option:: -mabi=<arg> 1994 1995.. option:: -mabicalls, -mno-abicalls 1996 1997Enable SVR4-style position-independent code (Mips only) 1998 1999.. option:: -mabs=<arg> 2000 2001.. option:: -malign-double 2002 2003Align doubles to two words in structs (x86 only) 2004 2005.. option:: -march=<arg> 2006 2007.. option:: -masm=<arg> 2008 2009.. option:: -mbackchain, -mno-backchain 2010 2011Link stack frames through backchain on System Z 2012 2013.. option:: -mcheck-zero-division, -mno-check-zero-division 2014 2015.. option:: -mcmodel=<arg> 2016 2017.. option:: -mcompact-branches=<arg> 2018 2019.. option:: -mconsole<arg> 2020 2021.. option:: -mcpu=<arg>, -mv4 (equivalent to -mcpu=hexagonv4), -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60), -mv62 (equivalent to -mcpu=hexagonv62), -mv65 (equivalent to -mcpu=hexagonv65) 2022 2023.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg> 2024 2025.. option:: -mdll<arg> 2026 2027.. option:: -mdouble-float 2028 2029.. option:: -mdsp, -mno-dsp 2030 2031.. option:: -mdspr2, -mno-dspr2 2032 2033.. option:: -mdynamic-no-pic<arg> 2034 2035.. option:: -meabi <arg> 2036 2037Set EABI type, e.g. 4, 5 or gnu (default depends on triple) 2038 2039.. option:: -membedded-data, -mno-embedded-data 2040 2041Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS) 2042 2043.. option:: -mextern-sdata, -mno-extern-sdata 2044 2045Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS) 2046 2047.. option:: -mfentry 2048 2049Insert calls to fentry at function entry (x86 only) 2050 2051.. option:: -mfloat-abi=<arg> 2052 2053.. option:: -mfp32 2054 2055Use 32-bit floating point registers (MIPS only) 2056 2057.. option:: -mfp64 2058 2059Use 64-bit floating point registers (MIPS only) 2060 2061.. option:: -mfpmath=<arg> 2062 2063.. option:: -mfpu=<arg> 2064 2065.. option:: -mglobal-merge, -mno-global-merge 2066 2067Enable merging of globals 2068 2069.. option:: -mgpopt, -mno-gpopt 2070 2071Use GP relative accesses for symbols known to be in a small data section (MIPS) 2072 2073.. option:: -mhard-float 2074 2075.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg> 2076 2077.. option:: -miamcu, -mno-iamcu 2078 2079Use Intel MCU ABI 2080 2081.. option:: -mimplicit-float, -mno-implicit-float 2082 2083.. option:: -mimplicit-it=<arg> 2084 2085.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible 2086 2087(integrated-as) Emit an object file which can be used with an incremental linker 2088 2089.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg> 2090 2091.. option:: -mips16 2092 2093.. option:: -mkernel 2094 2095.. option:: -mldc1-sdc1, -mno-ldc1-sdc1 2096 2097.. option:: -mlocal-sdata, -mno-local-sdata 2098 2099Extend the -G behaviour to object local data (MIPS) 2100 2101.. option:: -mlong-calls, -mno-long-calls 2102 2103Generate branches with extended addressability, usually via indirect jumps. 2104 2105.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg> 2106 2107Set Mac OS X deployment target 2108 2109.. option:: -mmadd4, -mno-madd4 2110 2111Enable the generation of 4-operand madd.s, madd.d and related instructions. 2112 2113.. option:: -mmcu=<arg> 2114 2115.. option:: -mmicromips, -mno-micromips 2116 2117.. option:: -mms-bitfields, -mno-ms-bitfields 2118 2119Set the default structure layout to be compatible with the Microsoft compiler standard 2120 2121.. option:: -mmsa, -mno-msa 2122 2123Enable MSA ASE (MIPS only) 2124 2125.. option:: -mmt, -mno-mt 2126 2127Enable MT ASE (MIPS only) 2128 2129.. option:: -mnan=<arg> 2130 2131.. option:: -mno-mips16 2132 2133.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer 2134 2135Omit frame pointer setup for leaf functions 2136 2137.. option:: -moslib=<arg> 2138 2139.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations 2140 2141Use copy relocations support for PIE builds 2142 2143.. option:: -mprefer-vector-width=<arg> 2144 2145Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions. 2146 2147.. option:: -mqdsp6-compat 2148 2149Enable hexagon-qdsp6 backward compatibility 2150 2151.. option:: -mrecip 2152 2153.. program:: clang1 2154.. option:: -mrecip=<arg1>,<arg2>... 2155.. program:: clang 2156 2157.. option:: -mred-zone, -mno-red-zone 2158 2159.. option:: -mregparm=<arg> 2160 2161.. option:: -mrelax-all, -mno-relax-all 2162 2163(integrated-as) Relax all machine instructions 2164 2165.. option:: -mrtd, -mno-rtd 2166 2167Make StdCall calling convention the default 2168 2169.. option:: -msingle-float 2170 2171.. option:: -msoft-float, -mno-soft-float 2172 2173Use software floating point 2174 2175.. option:: -mstack-alignment=<arg> 2176 2177Set the stack alignment 2178 2179.. option:: -mstack-probe-size=<arg> 2180 2181Set the stack probe size 2182 2183.. option:: -mstackrealign, -mno-stackrealign 2184 2185Force realign the stack at entry to every function 2186 2187.. option:: -mthread-model <arg> 2188 2189The thread model to use, e.g. posix, single (posix by default) 2190 2191.. option:: -mthreads<arg> 2192 2193.. option:: -mthumb, -mno-thumb 2194 2195.. option:: -mtune=<arg> 2196 2197.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg> 2198 2199.. option:: -municode<arg> 2200 2201.. option:: -mvx, -mno-vx 2202 2203.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings 2204 2205.. option:: -mwatchos-version-min=<arg> 2206 2207.. option:: -mwindows<arg> 2208 2209.. option:: -mx32 2210 2211.. option:: -mxgot, -mno-xgot 2212 2213AARCH64 2214------- 2215.. option:: -ffixed-x18 2216 2217Reserve the x18 register (AArch64 only) 2218 2219.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769 2220 2221Workaround Cortex-A53 erratum 835769 (AArch64 only) 2222 2223.. option:: -mgeneral-regs-only 2224 2225Generate code which only uses the general purpose registers (AArch64 only) 2226 2227AMDGPU 2228------ 2229.. option:: -mxnack, -mno-xnack 2230 2231Enable XNACK (AMDGPU only) 2232 2233ARM 2234--- 2235.. option:: -ffixed-r9 2236 2237Reserve the r9 register (ARM only) 2238 2239.. option:: -mcrc 2240 2241Allow use of CRC instructions (ARM only) 2242 2243.. option:: -mexecute-only, -mno-execute-only, -mpure-code 2244 2245Disallow generation of data access to code sections (ARM only) 2246 2247.. option:: -mno-movt 2248 2249Disallow use of movt/movw pairs (ARM only) 2250 2251.. option:: -mno-neg-immediates 2252 2253Disallow converting instructions with negative immediates to their negation or inversion. 2254 2255.. option:: -mnocrc 2256 2257Disallow use of CRC instructions (ARM only) 2258 2259.. option:: -mrestrict-it, -mno-restrict-it 2260 2261Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode. 2262 2263.. option:: -mtp=<arg> 2264 2265Read thread pointer from coprocessor register (ARM only) 2266 2267.. option:: -munaligned-access, -mno-unaligned-access 2268 2269Allow memory accesses to be unaligned (AArch32/AArch64 only) 2270 2271Hexagon 2272------- 2273.. option:: -mieee-rnd-near 2274 2275Hexagon 2276------- 2277.. option:: -mhvx, -mno-hvx 2278 2279Enable Hexagon Vector eXtensions 2280 2281.. option:: -mhvx-double, -mno-hvx-double 2282 2283Enable Hexagon Double Vector eXtensions 2284 2285.. option:: -mhvx-length=<arg> 2286 2287Set Hexagon Vector Length 2288 2289.. program:: clang1 2290.. option:: -mhvx=<arg> 2291.. program:: clang 2292 2293Enable Hexagon Vector eXtensions 2294 2295PowerPC 2296------- 2297.. option:: -maltivec, -mno-altivec 2298 2299.. option:: -mcmpb, -mno-cmpb 2300 2301.. option:: -mcrbits, -mno-crbits 2302 2303.. option:: -mcrypto, -mno-crypto 2304 2305.. option:: -mdirect-move, -mno-direct-move 2306 2307.. option:: -mfloat128, -mno-float128 2308 2309.. option:: -mfprnd, -mno-fprnd 2310 2311.. option:: -mhtm, -mno-htm 2312 2313.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors 2314 2315.. option:: -misel, -mno-isel 2316 2317.. option:: -mlongcall, -mno-longcall 2318 2319.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf 2320 2321.. option:: -mpopcntd, -mno-popcntd 2322 2323.. option:: -mpower8-vector, -mno-power8-vector 2324 2325.. option:: -mpower9-vector, -mno-power9-vector 2326 2327.. option:: -mqpx, -mno-qpx 2328 2329.. option:: -mvsx, -mno-vsx 2330 2331WebAssembly 2332----------- 2333.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint 2334 2335.. option:: -msign-ext, -mno-sign-ext 2336 2337.. option:: -msimd128, -mno-simd128 2338 2339X86 2340--- 2341.. option:: -m3dnow, -mno-3dnow 2342 2343.. option:: -m3dnowa, -mno-3dnowa 2344 2345.. option:: -madx, -mno-adx 2346 2347.. option:: -maes, -mno-aes 2348 2349.. option:: -mavx, -mno-avx 2350 2351.. option:: -mavx2, -mno-avx2 2352 2353.. option:: -mavx512bitalg, -mno-avx512bitalg 2354 2355.. option:: -mavx512bw, -mno-avx512bw 2356 2357.. option:: -mavx512cd, -mno-avx512cd 2358 2359.. option:: -mavx512dq, -mno-avx512dq 2360 2361.. option:: -mavx512er, -mno-avx512er 2362 2363.. option:: -mavx512f, -mno-avx512f 2364 2365.. option:: -mavx512ifma, -mno-avx512ifma 2366 2367.. option:: -mavx512pf, -mno-avx512pf 2368 2369.. option:: -mavx512vbmi, -mno-avx512vbmi 2370 2371.. option:: -mavx512vbmi2, -mno-avx512vbmi2 2372 2373.. option:: -mavx512vl, -mno-avx512vl 2374 2375.. option:: -mavx512vnni, -mno-avx512vnni 2376 2377.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq 2378 2379.. option:: -mbmi, -mno-bmi 2380 2381.. option:: -mbmi2, -mno-bmi2 2382 2383.. option:: -mclflushopt, -mno-clflushopt 2384 2385.. option:: -mclwb, -mno-clwb 2386 2387.. option:: -mclzero, -mno-clzero 2388 2389.. option:: -mcx16, -mno-cx16 2390 2391.. option:: -mf16c, -mno-f16c 2392 2393.. option:: -mfma, -mno-fma 2394 2395.. option:: -mfma4, -mno-fma4 2396 2397.. option:: -mfsgsbase, -mno-fsgsbase 2398 2399.. option:: -mfxsr, -mno-fxsr 2400 2401.. option:: -mgfni, -mno-gfni 2402 2403.. option:: -mibt, -mno-ibt 2404 2405.. option:: -mlwp, -mno-lwp 2406 2407.. option:: -mlzcnt, -mno-lzcnt 2408 2409.. option:: -mmmx, -mno-mmx 2410 2411.. option:: -mmovbe, -mno-movbe 2412 2413.. option:: -mmpx, -mno-mpx 2414 2415.. option:: -mmwaitx, -mno-mwaitx 2416 2417.. option:: -mpclmul, -mno-pclmul 2418 2419.. option:: -mpku, -mno-pku 2420 2421.. option:: -mpopcnt, -mno-popcnt 2422 2423.. option:: -mprefetchwt1, -mno-prefetchwt1 2424 2425.. option:: -mprfchw, -mno-prfchw 2426 2427.. option:: -mrdpid, -mno-rdpid 2428 2429.. option:: -mrdrnd, -mno-rdrnd 2430 2431.. option:: -mrdseed, -mno-rdseed 2432 2433.. option:: -mretpoline, -mno-retpoline 2434 2435.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk 2436 2437.. option:: -mrtm, -mno-rtm 2438 2439.. option:: -msgx, -mno-sgx 2440 2441.. option:: -msha, -mno-sha 2442 2443.. option:: -mshstk, -mno-shstk 2444 2445.. option:: -msse, -mno-sse 2446 2447.. option:: -msse2, -mno-sse2 2448 2449.. option:: -msse3, -mno-sse3 2450 2451.. option:: -msse4.1, -mno-sse4.1 2452 2453.. program:: clang1 2454.. option:: -msse4.2, -mno-sse4.2, -msse4 2455.. program:: clang 2456 2457.. option:: -msse4a, -mno-sse4a 2458 2459.. option:: -mssse3, -mno-ssse3 2460 2461.. option:: -mtbm, -mno-tbm 2462 2463.. option:: -mvaes, -mno-vaes 2464 2465.. option:: -mvpclmulqdq, -mno-vpclmulqdq 2466 2467.. option:: -mx87, -m80387, -mno-x87 2468 2469.. option:: -mxop, -mno-xop 2470 2471.. option:: -mxsave, -mno-xsave 2472 2473.. option:: -mxsavec, -mno-xsavec 2474 2475.. option:: -mxsaveopt, -mno-xsaveopt 2476 2477.. option:: -mxsaves, -mno-xsaves 2478 2479Optimization level 2480~~~~~~~~~~~~~~~~~~ 2481 2482Flags controlling how much optimization should be performed. 2483 2484.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg> 2485 2486.. option:: -Ofast<arg> 2487 2488Debug information generation 2489~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2490 2491Flags controlling how much and what kind of debug information should be 2492generated. 2493 2494Kind and level of debug information 2495----------------------------------- 2496.. option:: -g, --debug, --debug=<arg> 2497 2498Generate source-level debug information 2499 2500.. option:: -gdwarf-2 2501 2502Generate source-level debug information with dwarf version 2 2503 2504.. option:: -gdwarf-3 2505 2506Generate source-level debug information with dwarf version 3 2507 2508.. option:: -gdwarf-4, -gdwarf 2509 2510Generate source-level debug information with dwarf version 4 2511 2512.. option:: -gdwarf-5 2513 2514Generate source-level debug information with dwarf version 5 2515 2516.. option:: -gfull 2517 2518.. option:: -gused 2519 2520Debug level 2521___________ 2522.. option:: -g0 2523 2524.. option:: -g2 2525 2526.. option:: -g3 2527 2528.. option:: -ggdb0 2529 2530.. option:: -ggdb1 2531 2532.. option:: -ggdb2 2533 2534.. option:: -ggdb3 2535 2536.. option:: -gline-tables-only, -g1, -gmlt 2537 2538Emit debug line number tables only 2539 2540.. option:: -gmodules 2541 2542Generate debug info with external references to clang modules or precompiled headers 2543 2544Debugger to tune debug information for 2545______________________________________ 2546.. option:: -ggdb 2547 2548.. option:: -glldb 2549 2550.. option:: -gsce 2551 2552Debug information flags 2553----------------------- 2554.. option:: -gcolumn-info, -gno-column-info 2555 2556.. option:: -gdwarf-aranges 2557 2558.. option:: -ggnu-pubnames 2559 2560.. option:: -grecord-gcc-switches, -gno-record-gcc-switches 2561 2562.. option:: -gsplit-dwarf 2563 2564.. option:: -gstrict-dwarf, -gno-strict-dwarf 2565 2566.. option:: -gz 2567 2568DWARF debug sections compression type 2569 2570.. program:: clang1 2571.. option:: -gz=<arg> 2572.. program:: clang 2573 2574DWARF debug sections compression type 2575 2576Static analyzer flags 2577===================== 2578 2579Flags controlling the behavior of the Clang Static Analyzer. 2580 2581.. option:: -Xanalyzer <arg> 2582 2583Pass <arg> to the static analyzer 2584 2585Fortran compilation flags 2586========================= 2587 2588Flags that will be passed onto the ``gfortran`` compiler when Clang is given 2589a Fortran input. 2590 2591.. option:: -A<arg>, --assert <arg>, --assert=<arg> 2592 2593.. option:: -A-<arg> 2594 2595.. option:: -J<arg> 2596 2597.. option:: -cpp 2598 2599.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination 2600 2601.. option:: -falign-commons, -fno-align-commons 2602 2603.. option:: -fall-intrinsics, -fno-all-intrinsics 2604 2605.. option:: -fautomatic, -fno-automatic 2606 2607.. option:: -fbackslash, -fno-backslash 2608 2609.. option:: -fbacktrace, -fno-backtrace 2610 2611.. option:: -fblas-matmul-limit=<arg> 2612 2613.. option:: -fbounds-check, -fno-bounds-check 2614 2615.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries 2616 2617.. option:: -fcheck=<arg> 2618 2619.. option:: -fcoarray=<arg> 2620 2621.. option:: -fconvert=<arg> 2622 2623.. option:: -fcray-pointer, -fno-cray-pointer 2624 2625.. option:: -fd-lines-as-code, -fno-d-lines-as-code 2626 2627.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments 2628 2629.. option:: -fdefault-double-8, -fno-default-double-8 2630 2631.. option:: -fdefault-integer-8, -fno-default-integer-8 2632 2633.. option:: -fdefault-real-8, -fno-default-real-8 2634 2635.. option:: -fdollar-ok, -fno-dollar-ok 2636 2637.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized 2638 2639.. option:: -fdump-fortran-original, -fno-dump-fortran-original 2640 2641.. option:: -fdump-parse-tree, -fno-dump-parse-tree 2642 2643.. option:: -fexternal-blas, -fno-external-blas 2644 2645.. option:: -ff2c, -fno-f2c 2646 2647.. option:: -ffixed-form, -fno-fixed-form 2648 2649.. option:: -ffixed-line-length-<arg> 2650 2651.. option:: -ffpe-trap=<arg> 2652 2653.. option:: -ffree-form, -fno-free-form 2654 2655.. option:: -ffree-line-length-<arg> 2656 2657.. option:: -ffrontend-optimize, -fno-frontend-optimize 2658 2659.. option:: -fimplicit-none, -fno-implicit-none 2660 2661.. option:: -finit-character=<arg> 2662 2663.. option:: -finit-integer=<arg> 2664 2665.. option:: -finit-local-zero, -fno-init-local-zero 2666 2667.. option:: -finit-logical=<arg> 2668 2669.. option:: -finit-real=<arg> 2670 2671.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8 2672 2673.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path 2674 2675.. option:: -fmax-array-constructor=<arg> 2676 2677.. option:: -fmax-errors=<arg> 2678 2679.. option:: -fmax-identifier-length, -fno-max-identifier-length 2680 2681.. option:: -fmax-stack-var-size=<arg> 2682 2683.. option:: -fmax-subrecord-length=<arg> 2684 2685.. option:: -fmodule-private, -fno-module-private 2686 2687.. option:: -fpack-derived, -fno-pack-derived 2688 2689.. option:: -fprotect-parens, -fno-protect-parens 2690 2691.. option:: -frange-check, -fno-range-check 2692 2693.. option:: -freal-4-real-10, -fno-real-4-real-10 2694 2695.. option:: -freal-4-real-16, -fno-real-4-real-16 2696 2697.. option:: -freal-4-real-8, -fno-real-4-real-8 2698 2699.. option:: -freal-8-real-10, -fno-real-8-real-10 2700 2701.. option:: -freal-8-real-16, -fno-real-8-real-16 2702 2703.. option:: -freal-8-real-4, -fno-real-8-real-4 2704 2705.. option:: -frealloc-lhs, -fno-realloc-lhs 2706 2707.. option:: -frecord-marker=<arg> 2708 2709.. option:: -frecursive, -fno-recursive 2710 2711.. option:: -frepack-arrays, -fno-repack-arrays 2712 2713.. option:: -fsecond-underscore, -fno-second-underscore 2714 2715.. option:: -fsign-zero, -fno-sign-zero 2716 2717.. option:: -fstack-arrays, -fno-stack-arrays 2718 2719.. option:: -funderscoring, -fno-underscoring 2720 2721.. option:: -fwhole-file, -fno-whole-file 2722 2723.. option:: -nocpp 2724 2725.. option:: -static-libgfortran 2726 2727Linker flags 2728============ 2729Flags that are passed on to the linker 2730 2731.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg> 2732 2733Add directory to library search path 2734 2735.. option:: -Mach 2736 2737.. option:: -T<script> 2738 2739Specify <script> as linker script 2740 2741.. option:: -Tbss<addr> 2742 2743Set starting address of BSS to <addr> 2744 2745.. option:: -Tdata<addr> 2746 2747Set starting address of BSS to <addr> 2748 2749.. option:: -Ttext<addr> 2750 2751Set starting address of BSS to <addr> 2752 2753.. option:: -Wl,<arg>,<arg2>... 2754 2755Pass the comma separated arguments in <arg> to the linker 2756 2757.. option:: -X 2758 2759.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg> 2760 2761Pass <arg> to the linker 2762 2763.. program:: clang1 2764.. option:: -Z 2765.. program:: clang 2766 2767.. option:: -e<arg>, --entry 2768 2769.. option:: -filelist <arg> 2770 2771.. option:: -l<arg> 2772 2773.. option:: -r 2774 2775.. option:: -rpath <arg> 2776 2777.. option:: -s 2778 2779.. option:: -t 2780 2781.. option:: -u<arg>, --force-link <arg>, --force-link=<arg> 2782 2783.. option:: -undef 2784 2785undef all system defines 2786 2787.. option:: -undefined<arg>, --no-undefined 2788 2789.. option:: -z <arg> 2790 2791Pass -z <arg> to the linker 2792 2793