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:: -Qn, -fno-ident 40 41Do not emit metadata containing compiler name and version 42 43.. option:: -Qunused-arguments 44 45Don't emit warning for unused driver arguments 46 47.. option:: -Qy, -fident 48 49Emit metadata containing compiler name and version 50 51.. option:: -Wa,<arg>,<arg2>... 52 53Pass the comma separated arguments in <arg> to the assembler 54 55.. option:: -Wlarge-by-value-copy=<arg> 56 57.. option:: -Xarch\_<arg1> <arg2> 58 59.. program:: clang1 60.. option:: -Xarch\_device <arg> 61.. program:: clang 62 63Pass <arg> to the CUDA/HIP device compilation 64 65.. program:: clang2 66.. option:: -Xarch\_host <arg> 67.. program:: clang 68 69Pass <arg> to the CUDA/HIP host compilation 70 71.. option:: -Xcuda-fatbinary <arg> 72 73Pass <arg> to fatbinary invocation 74 75.. option:: -Xcuda-ptxas <arg> 76 77Pass <arg> to the ptxas assembler 78 79.. option:: -Xopenmp-target <arg> 80 81Pass <arg> to the target offloading toolchain. 82 83.. program:: clang1 84.. option:: -Xopenmp-target=<triple> <arg> 85.. program:: clang 86 87Pass <arg> to the target offloading toolchain identified by <triple>. 88 89.. option:: -Z<arg> 90 91.. option:: -a<arg>, --profile-blocks 92 93.. option:: -all\_load 94 95.. option:: -allowable\_client <arg> 96 97.. option:: --analyze 98 99Run the static analyzer 100 101.. option:: --analyzer-no-default-checks 102 103.. option:: --analyzer-output<arg> 104 105Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|sarif\|text). 106 107.. option:: -ansi, --ansi 108 109.. option:: -arch <arg> 110 111.. program:: clang1 112.. option:: -arch\_errors\_fatal 113.. program:: clang 114 115.. program:: clang2 116.. option:: -arch\_only <arg> 117.. program:: clang 118 119.. option:: -arcmt-migrate-emit-errors 120 121Emit ARC errors even if the migrator can fix them 122 123.. option:: -arcmt-migrate-report-output <arg> 124 125Output path for the plist report 126 127.. option:: --autocomplete=<arg> 128 129.. option:: -bind\_at\_load 130 131.. option:: -bundle 132 133.. program:: clang1 134.. option:: -bundle\_loader <arg> 135.. program:: clang 136 137.. option:: -client\_name<arg> 138 139.. option:: -compatibility\_version<arg> 140 141.. option:: --config <arg> 142 143Specifies configuration file 144 145.. option:: --constant-cfstrings 146 147.. option:: -coverage, --coverage 148 149.. option:: --cuda-compile-host-device 150 151Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations. 152 153.. option:: --cuda-device-only 154 155Compile CUDA code for device only 156 157.. option:: --cuda-host-only 158 159Compile CUDA code for host only. Has no effect on non-CUDA compilations. 160 161.. option:: --cuda-include-ptx=<arg>, --no-cuda-include-ptx=<arg> 162 163Include PTX for the following GPU architecture (e.g. sm\_35) or 'all'. May be specified more than once. 164 165.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug 166 167Enable device-side debug info generation. Disables ptxas optimizations. 168 169.. option:: -current\_version<arg> 170 171.. option:: -dead\_strip 172 173.. option:: -dependency-dot <arg> 174 175Filename to write DOT-formatted header dependencies to 176 177.. option:: -dependency-file <arg> 178 179Filename (or -) to write dependency output to 180 181.. option:: -dumpmachine 182 183.. option:: -dumpversion 184 185.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg> 186 187.. option:: -dylib\_file <arg> 188 189.. option:: -dylinker 190 191.. program:: clang1 192.. option:: -dylinker\_install\_name<arg> 193.. program:: clang 194 195.. option:: -dynamic 196 197.. option:: -dynamiclib 198 199.. option:: -emit-ast 200 201Emit Clang AST files for source inputs 202 203.. option:: -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang 204 205Trivial automatic variable initialization to zero is only here for benchmarks, it'll eventually be removed, and I'm OK with that because I'm only using it to benchmark 206 207.. option:: -exported\_symbols\_list <arg> 208 209.. option:: -faligned-new=<arg> 210 211.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero 212 213Flush denormal floating point values to zero in CUDA device mode. 214 215.. option:: -ffixed-r19 216 217Reserve register r19 (Hexagon only) 218 219.. option:: -fheinous-gnu-extensions 220 221.. option:: -flat\_namespace 222 223.. option:: -fopenmp-targets=<arg1>,<arg2>... 224 225Specify comma-separated list of triples OpenMP offloading targets to be supported 226 227.. option:: -force\_cpusubtype\_ALL 228 229.. program:: clang1 230.. option:: -force\_flat\_namespace 231.. program:: clang 232 233.. program:: clang2 234.. option:: -force\_load <arg> 235.. program:: clang 236 237.. option:: -framework <arg> 238 239.. option:: -frtlib-add-rpath, -fno-rtlib-add-rpath 240 241Add -rpath with architecture-specific resource directory to the linker flags 242 243.. option:: -fsanitize-system-blacklist=<arg> 244 245Path to system blacklist file for sanitizers 246 247.. option:: -fsystem-module 248 249Build this module as a system module. Only used with -emit-module 250 251.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg> 252 253Use the gcc toolchain at the given directory 254 255.. option:: -gcodeview 256 257Generate CodeView debug information 258 259.. option:: -gcodeview-ghash, -gno-codeview-ghash 260 261Emit type record hashes in a .debug$H section 262 263.. option:: -ginline-line-tables, -gno-inline-line-tables 264 265.. option:: --gpu-max-threads-per-block=<arg> 266 267Default max threads per block for kernel launch bounds for HIP 268 269.. option:: -headerpad\_max\_install\_names<arg> 270 271.. option:: -help, --help 272 273Display available options 274 275.. option:: --help-hidden 276 277Display help for hidden options 278 279.. option:: --hip-link 280 281Link clang-offload-bundler bundles for HIP 282 283.. option:: -ibuiltininc 284 285Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it 286 287.. option:: -image\_base <arg> 288 289.. option:: -index-header-map 290 291Make the next included directory (-I or -F) an indexer header map 292 293.. option:: -init <arg> 294 295.. option:: -install\_name <arg> 296 297.. option:: -interface-stub-version=<arg> 298 299.. option:: -keep\_private\_externs 300 301.. option:: -lazy\_framework <arg> 302 303.. program:: clang1 304.. option:: -lazy\_library <arg> 305.. program:: clang 306 307.. option:: -mbig-endian, -EB 308 309.. option:: -mbranch-protection=<arg> 310 311Enforce targets of indirect branches and function returns 312 313.. option:: --migrate 314 315Run the migrator 316 317.. option:: -mios-simulator-version-min=<arg>, -miphonesimulator-version-min=<arg> 318 319.. option:: -mlinker-version=<arg> 320 321.. option:: -mlittle-endian, -EL 322 323.. option:: -mllvm <arg> 324 325Additional arguments to forward to LLVM's option processing 326 327.. option:: -module-dependency-dir <arg> 328 329Directory to dump module dependencies to 330 331.. option:: -mtvos-simulator-version-min=<arg>, -mappletvsimulator-version-min=<arg> 332 333.. option:: -multi\_module 334 335.. option:: -multiply\_defined <arg> 336 337.. program:: clang1 338.. option:: -multiply\_defined\_unused <arg> 339.. program:: clang 340 341.. option:: -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg> 342 343.. option:: --no-cuda-version-check 344 345Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture. 346 347.. option:: -no-integrated-cpp, --no-integrated-cpp 348 349.. option:: -no\_dead\_strip\_inits\_and\_terms 350 351.. option:: -nobuiltininc 352 353Disable builtin #include directories 354 355.. option:: -nodefaultlibs 356 357.. option:: -nofixprebinding 358 359.. option:: -nogpuinc, -nocudainc 360 361.. option:: -nogpulib, -nocudalib 362 363Do not link device library for CUDA/HIP device compilation 364 365.. option:: -nolibc 366 367.. option:: -nomultidefs 368 369.. option:: -nopie, -no-pie 370 371.. option:: -noprebind 372 373.. option:: -noprofilelib 374 375.. option:: -noseglinkedit 376 377.. option:: -nostartfiles 378 379.. option:: -nostdinc, --no-standard-includes 380 381.. program:: clang1 382.. option:: -nostdinc++ 383.. program:: clang 384 385Disable standard #include directories for the C++ standard library 386 387.. option:: -nostdlib, --no-standard-libraries 388 389.. program:: clang1 390.. option:: -nostdlib++ 391.. program:: clang 392 393.. option:: -nostdlibinc 394 395.. option:: -o<file>, --output <arg>, --output=<arg> 396 397Write output to <file> 398 399.. option:: -objcmt-atomic-property 400 401Make migration to 'atomic' properties 402 403.. option:: -objcmt-migrate-all 404 405Enable migration to modern ObjC 406 407.. option:: -objcmt-migrate-annotation 408 409Enable migration to property and method annotations 410 411.. option:: -objcmt-migrate-designated-init 412 413Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods 414 415.. option:: -objcmt-migrate-instancetype 416 417Enable migration to infer instancetype for method result type 418 419.. option:: -objcmt-migrate-literals 420 421Enable migration to modern ObjC literals 422 423.. option:: -objcmt-migrate-ns-macros 424 425Enable migration to NS\_ENUM/NS\_OPTIONS macros 426 427.. option:: -objcmt-migrate-property 428 429Enable migration to modern ObjC property 430 431.. option:: -objcmt-migrate-property-dot-syntax 432 433Enable migration of setter/getter messages to property-dot syntax 434 435.. option:: -objcmt-migrate-protocol-conformance 436 437Enable migration to add protocol conformance on classes 438 439.. option:: -objcmt-migrate-readonly-property 440 441Enable migration to modern ObjC readonly property 442 443.. option:: -objcmt-migrate-readwrite-property 444 445Enable migration to modern ObjC readwrite property 446 447.. option:: -objcmt-migrate-subscripting 448 449Enable migration to modern ObjC subscripting 450 451.. option:: -objcmt-ns-nonatomic-iosonly 452 453Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute 454 455.. option:: -objcmt-returns-innerpointer-property 456 457Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER 458 459.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg> 460 461Only modify files with a filename contained in the provided directory path 462 463.. option:: -object 464 465.. option:: --offload-arch=<arg>, --cuda-gpu-arch=<arg>, --no-offload-arch=<arg> 466 467CUDA/HIP offloading device architecture (e.g. sm\_35, gfx906). May be specified more than once. 468 469.. option:: -p, --profile 470 471.. option:: -pagezero\_size<arg> 472 473.. option:: -pg 474 475Enable mcount instrumentation 476 477.. option:: -pie 478 479.. option:: -pipe, --pipe 480 481Use pipes between commands, when possible 482 483.. option:: -prebind 484 485.. program:: clang1 486.. option:: -prebind\_all\_twolevel\_modules 487.. program:: clang 488 489.. option:: -preload 490 491.. option:: --print-diagnostic-categories 492 493.. option:: -print-effective-triple, --print-effective-triple 494 495Print the effective target triple 496 497.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg> 498 499Print the full library path of <file> 500 501.. option:: -print-ivar-layout 502 503Enable Objective-C Ivar layout bitmap print trace 504 505.. option:: -print-libgcc-file-name, --print-libgcc-file-name 506 507Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a") 508 509.. option:: -print-multi-directory, --print-multi-directory 510 511.. option:: -print-multi-lib, --print-multi-lib 512 513.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg> 514 515Print the full program path of <name> 516 517.. option:: -print-resource-dir, --print-resource-dir 518 519Print the resource directory pathname 520 521.. option:: -print-search-dirs, --print-search-dirs 522 523Print the paths used for finding libraries and programs 524 525.. option:: -print-target-triple, --print-target-triple 526 527Print the normalized target triple 528 529.. option:: -print-targets, --print-targets 530 531Print the registered targets 532 533.. option:: -private\_bundle 534 535.. option:: -pthread, -no-pthread 536 537Support POSIX threads in generated code 538 539.. option:: -pthreads 540 541.. option:: -rdynamic 542 543.. option:: -read\_only\_relocs <arg> 544 545.. option:: -relocatable-pch, --relocatable-pch 546 547Whether to build a relocatable precompiled header 548 549.. option:: -remap 550 551.. option:: -rewrite-legacy-objc 552 553Rewrite Legacy Objective-C source to C++ 554 555.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg> 556 557Compiler runtime library to use 558 559.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd) 560 561Save llvm statistics. 562 563.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd) 564 565Save intermediate compilation results. 566 567.. option:: -sectalign <arg1> <arg2> <arg3> 568 569.. option:: -sectcreate <arg1> <arg2> <arg3> 570 571.. option:: -sectobjectsymbols <arg1> <arg2> 572 573.. option:: -sectorder <arg1> <arg2> <arg3> 574 575.. option:: -seg1addr<arg> 576 577.. option:: -seg\_addr\_table <arg> 578 579.. program:: clang1 580.. option:: -seg\_addr\_table\_filename <arg> 581.. program:: clang 582 583.. option:: -segaddr <arg1> <arg2> 584 585.. option:: -segcreate <arg1> <arg2> <arg3> 586 587.. option:: -seglinkedit 588 589.. option:: -segprot <arg1> <arg2> <arg3> 590 591.. option:: -segs\_read\_<arg> 592 593.. program:: clang1 594.. option:: -segs\_read\_only\_addr <arg> 595.. program:: clang 596 597.. program:: clang2 598.. option:: -segs\_read\_write\_addr <arg> 599.. program:: clang 600 601.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg> 602 603Serialize compiler diagnostics to a file 604 605.. option:: -shared, --shared 606 607.. option:: -shared-libgcc 608 609.. option:: -shared-libsan, -shared-libasan 610 611Dynamically link the sanitizer runtime 612 613.. option:: -single\_module 614 615.. option:: -specs=<arg>, --specs=<arg> 616 617.. option:: -static, --static 618 619.. option:: -static-libgcc 620 621.. option:: -static-libsan 622 623Statically link the sanitizer runtime 624 625.. option:: -static-libstdc++ 626 627.. option:: -static-openmp 628 629Use the static host OpenMP runtime while linking. 630 631.. option:: -static-pie 632 633.. option:: -std-default=<arg> 634 635.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg> 636 637C++ standard library to use 638 639.. option:: -sub\_library<arg> 640 641.. program:: clang1 642.. option:: -sub\_umbrella<arg> 643.. program:: clang 644 645.. option:: --sysroot=<arg>, --sysroot <arg> 646 647.. option:: --target-help 648 649.. option:: --target=<arg>, -target <arg> 650 651Generate code for the given target 652 653.. option:: -time 654 655Time individual commands 656 657.. option:: -traditional, --traditional 658 659.. option:: -traditional-cpp, --traditional-cpp 660 661Enable some traditional CPP emulation 662 663.. option:: -twolevel\_namespace 664 665.. program:: clang1 666.. option:: -twolevel\_namespace\_hints 667.. program:: clang 668 669.. option:: -umbrella <arg> 670 671.. option:: -unexported\_symbols\_list <arg> 672 673.. option:: -unwindlib=<arg>, --unwindlib=<arg> 674 675Unwind library to use 676 677.. option:: -v, --verbose 678 679Show commands to run and use verbose output 680 681.. option:: --verify-debug-info 682 683Verify the binary representation of debug output 684 685.. option:: --version 686 687Print version information 688 689.. option:: -w, --no-warnings 690 691Suppress all warnings 692 693.. option:: -weak-l<arg> 694 695.. option:: -weak\_framework <arg> 696 697.. program:: clang1 698.. option:: -weak\_library <arg> 699.. program:: clang 700 701.. program:: clang2 702.. option:: -weak\_reference\_mismatches <arg> 703.. program:: clang 704 705.. option:: -whatsloaded 706 707.. option:: -whyload 708 709.. option:: -working-directory<arg>, -working-directory=<arg> 710 711Resolve file paths relative to the specified directory 712 713.. option:: -x<language>, --language <arg>, --language=<arg> 714 715Treat subsequent input files as having type <language> 716 717.. option:: -y<arg> 718 719Actions 720======= 721The action to perform on the input. 722 723.. option:: -E, --preprocess 724 725Only run the preprocessor 726 727.. option:: -S, --assemble 728 729Only run preprocess and compilation steps 730 731.. option:: -c, --compile 732 733Only run preprocess, compile, and assemble steps 734 735.. option:: -emit-interface-stubs 736 737Generate Inteface Stub Files. 738 739.. option:: -emit-llvm 740 741Use the LLVM representation for assembler and object files 742 743.. option:: -emit-merged-ifs 744 745Generate Interface Stub Files, emit merged text not binary. 746 747.. option:: -fsyntax-only 748 749.. option:: -module-file-info 750 751Provide information about a particular module file 752 753.. option:: --precompile 754 755Only precompile the input 756 757.. option:: -rewrite-objc 758 759Rewrite Objective-C source to C++ 760 761.. option:: -verify-pch 762 763Load and verify that a pre-compiled header file is not stale 764 765Compilation flags 766================= 767 768Flags controlling the behavior of Clang during compilation. These flags have 769no effect during actions that do not perform compilation. 770 771.. option:: -Xassembler <arg> 772 773Pass <arg> to the assembler 774 775.. option:: -Xclang <arg> 776 777Pass <arg> to the clang compiler 778 779.. option:: -fclang-abi-compat=<version> 780 781Attempt to match the ABI of Clang <version> 782 783.. option:: -fcomment-block-commands=<arg>,<arg2>... 784 785Treat each comma separated argument in <arg> as a documentation comment block command 786 787.. option:: -fcomplete-member-pointers, -fno-complete-member-pointers 788 789Require member pointer base types to be complete if they would be significant under the Microsoft ABI 790 791.. option:: -fcrash-diagnostics-dir=<arg> 792 793.. option:: -fdeclspec, -fno-declspec 794 795Allow \_\_declspec as a keyword 796 797.. option:: -fdepfile-entry=<arg> 798 799.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info 800 801.. option:: -fdiagnostics-format=<arg> 802 803.. option:: -fdiagnostics-parseable-fixits 804 805Print fix-its in machine parseable form 806 807.. option:: -fdiagnostics-print-source-range-info 808 809Print source range spans in numeric form 810 811.. option:: -fdiagnostics-show-category=<arg> 812 813.. option:: -fdiscard-value-names, -fno-discard-value-names 814 815Discard value names in LLVM IR 816 817.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager 818 819Enables an experimental new pass manager in LLVM. 820 821.. option:: -ffine-grained-bitfield-accesses, -fno-fine-grained-bitfield-accesses 822 823Use separate accesses for consecutive bitfield runs with legal widths and alignments. 824 825.. option:: -fglobal-isel, -fexperimental-isel, -fno-global-isel 826 827Enables the global instruction selector 828 829.. option:: -finline-functions, -fno-inline-functions 830 831Inline suitable functions 832 833.. option:: -finline-hint-functions 834 835Inline functions which are (explicitly or implicitly) marked inline 836 837.. option:: -fno-crash-diagnostics 838 839Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash 840 841.. option:: -fno-sanitize-blacklist 842 843Don't use blacklist file for sanitizers 844 845.. option:: -fparse-all-comments 846 847.. option:: -frecord-command-line, -fno-record-command-line, -frecord-gcc-switches 848 849.. option:: -fsanitize-address-field-padding=<arg> 850 851Level of field padding for AddressSanitizer 852 853.. option:: -fsanitize-address-globals-dead-stripping 854 855Enable linker dead stripping of globals in AddressSanitizer 856 857.. option:: -fsanitize-address-poison-custom-array-cookie, -fno-sanitize-address-poison-custom-array-cookie 858 859Enable poisoning array cookies when using custom operator new\[\] in AddressSanitizer 860 861.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope 862 863Enable use-after-scope detection in AddressSanitizer 864 865.. option:: -fsanitize-address-use-odr-indicator, -fno-sanitize-address-use-odr-indicator 866 867Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size 868 869.. option:: -fsanitize-blacklist=<arg> 870 871Path to blacklist file for sanitizers 872 873.. option:: -fsanitize-cfi-canonical-jump-tables, -fno-sanitize-cfi-canonical-jump-tables 874 875Make the jump table addresses canonical in the symbol table 876 877.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso 878 879Enable control flow integrity (CFI) checks for cross-DSO calls. 880 881.. option:: -fsanitize-cfi-icall-generalize-pointers 882 883Generalize pointers in CFI indirect call type signature checks 884 885.. option:: -fsanitize-coverage-allowlist=<arg> 886 887Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones 888 889.. option:: -fsanitize-coverage-blocklist=<arg> 890 891Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones 892 893.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>... 894 895Specify the type of coverage instrumentation for Sanitizers 896 897.. option:: -fsanitize-hwaddress-abi=<arg> 898 899Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused. 900 901.. option:: -fsanitize-link-c++-runtime, -fno-sanitize-link-c++-runtime 902 903.. option:: -fsanitize-link-runtime, -fno-sanitize-link-runtime 904 905.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins 906 907Enable origins tracking in MemorySanitizer 908 909.. program:: clang1 910.. option:: -fsanitize-memory-track-origins=<arg> 911.. program:: clang 912 913Enable origins tracking in MemorySanitizer 914 915.. option:: -fsanitize-memory-use-after-dtor, -fno-sanitize-memory-use-after-dtor 916 917Enable use-after-destroy detection in MemorySanitizer 918 919.. option:: -fsanitize-minimal-runtime, -fno-sanitize-minimal-runtime 920 921.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>..., -fsanitize-recover (equivalent to -fsanitize-recover=all) 922 923Enable recovery for specified sanitizers 924 925.. option:: -fsanitize-stats, -fno-sanitize-stats 926 927Enable sanitizer statistics gathering. 928 929.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics 930 931Enable atomic operations instrumentation in ThreadSanitizer (default) 932 933.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit 934 935Enable function entry/exit instrumentation in ThreadSanitizer (default) 936 937.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access 938 939Enable memory access instrumentation in ThreadSanitizer (default) 940 941.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>..., -fsanitize-trap (equivalent to -fsanitize-trap=all), -fsanitize-undefined-trap-on-error (equivalent to -fsanitize-trap=undefined) 942 943Enable trapping for specified sanitizers 944 945.. option:: -fsanitize-undefined-strip-path-components=<number> 946 947Strip (or keep only, if negative) a given number of path components when emitting check metadata. 948 949.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>... 950 951Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks 952 953.. option:: -moutline, -mno-outline 954 955Enable function outlining (AArch64 only) 956 957.. option:: --param <arg>, --param=<arg> 958 959.. option:: -print-supported-cpus, --print-supported-cpus, -mcpu=?, -mtune=? 960 961Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target) 962 963.. option:: -std=<arg>, --std=<arg>, --std <arg> 964 965Language standard to compile for 966 967Preprocessor flags 968~~~~~~~~~~~~~~~~~~ 969 970Flags controlling the behavior of the Clang preprocessor. 971 972.. option:: -C, --comments 973 974Include comments in preprocessed output 975 976.. option:: -CC, --comments-in-macros 977 978Include comments from within macros in preprocessed output 979 980.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg> 981 982Define <macro> to <value> (or 1 if <value> omitted) 983 984.. option:: -H, --trace-includes 985 986Show header includes and nesting depth 987 988.. option:: -P, --no-line-commands 989 990Disable linemarker output in -E mode 991 992.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg> 993 994Undefine macro <macro> 995 996.. option:: -Wp,<arg>,<arg2>... 997 998Pass the comma separated arguments in <arg> to the preprocessor 999 1000.. option:: -Xpreprocessor <arg> 1001 1002Pass <arg> to the preprocessor 1003 1004.. option:: -fmacro-prefix-map=<arg> 1005 1006remap file source paths in predefined preprocessor macros 1007 1008Include path management 1009----------------------- 1010 1011Flags controlling how ``#include``\s are resolved to files. 1012 1013.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg> 1014 1015Add directory to include search path 1016 1017.. option:: -I-, --include-barrier 1018 1019Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path 1020 1021.. option:: --cuda-path-ignore-env 1022 1023Ignore environment variables to detect CUDA installation 1024 1025.. option:: --cuda-path=<arg> 1026 1027CUDA installation path 1028 1029.. option:: -cxx-isystem<directory> 1030 1031Add directory to the C++ SYSTEM include search path 1032 1033.. option:: -fbuild-session-file=<file> 1034 1035Use the last modification time of <file> as the build session timestamp 1036 1037.. option:: -fbuild-session-timestamp=<time since Epoch in seconds> 1038 1039Time when the current build session started 1040 1041.. option:: -fmodule-file=\[<name>=\]<file> 1042 1043Specify the mapping of module name to precompiled module file, or load a module file if name is omitted. 1044 1045.. option:: -fmodules-cache-path=<directory> 1046 1047Specify the module cache path 1048 1049.. option:: -fmodules-disable-diagnostic-validation 1050 1051Disable validation of the diagnostic options when loading the module 1052 1053.. option:: -fmodules-prune-after=<seconds> 1054 1055Specify the interval (in seconds) after which a module file will be considered unused 1056 1057.. option:: -fmodules-prune-interval=<seconds> 1058 1059Specify the interval (in seconds) between attempts to prune the module cache 1060 1061.. option:: -fmodules-user-build-path <directory> 1062 1063Specify the module user build path 1064 1065.. option:: -fmodules-validate-once-per-build-session 1066 1067Don't verify input files for the modules if the module has been successfully validated or loaded during this build session 1068 1069.. option:: -fmodules-validate-system-headers, -fno-modules-validate-system-headers 1070 1071Validate the system headers that a module depends on when loading the module 1072 1073.. option:: -fprebuilt-module-path=<directory> 1074 1075Specify the prebuilt module path 1076 1077.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg> 1078 1079Add directory to AFTER include search path 1080 1081.. option:: -iframework<arg> 1082 1083Add directory to SYSTEM framework search path 1084 1085.. option:: -iframeworkwithsysroot<directory> 1086 1087Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot 1088 1089.. option:: -imacros<file>, --imacros<file>, --imacros=<arg> 1090 1091Include macros from file before parsing 1092 1093.. option:: -include<file>, --include<file>, --include=<arg> 1094 1095Include file before parsing 1096 1097.. option:: -include-pch <file> 1098 1099Include precompiled header file 1100 1101.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg> 1102 1103Set the -iwithprefix/-iwithprefixbefore prefix 1104 1105.. option:: -iquote<directory> 1106 1107Add directory to QUOTE include search path 1108 1109.. option:: -isysroot<dir> 1110 1111Set the system root directory (usually /) 1112 1113.. option:: -isystem<directory> 1114 1115Add directory to SYSTEM include search path 1116 1117.. option:: -isystem-after<directory> 1118 1119Add directory to end of the SYSTEM include search path 1120 1121.. option:: -ivfsoverlay<arg> 1122 1123Overlay the virtual filesystem described by file over the real file system 1124 1125.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg> 1126 1127Set directory to SYSTEM include search path with prefix 1128 1129.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg> 1130 1131Set directory to include search path with prefix 1132 1133.. option:: -iwithsysroot<directory> 1134 1135Add directory to SYSTEM include search path, absolute paths are relative to -isysroot 1136 1137.. option:: --libomptarget-nvptx-path=<arg> 1138 1139Path to libomptarget-nvptx libraries 1140 1141.. option:: --ptxas-path=<arg> 1142 1143Path to ptxas (used for compiling CUDA code) 1144 1145.. option:: --rocm-path=<arg> 1146 1147ROCm installation path, used for finding and automatically linking required bitcode libraries. 1148 1149.. program:: clang1 1150.. option:: -stdlib++-isystem<directory> 1151.. program:: clang 1152 1153Use directory as the C++ standard library include path 1154 1155.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg> 1156 1157Treat all #include paths starting with <prefix> as including a system header. 1158 1159Dependency file generation 1160-------------------------- 1161 1162Flags controlling generation of a dependency file for ``make``-like build 1163systems. 1164 1165.. option:: -M, --dependencies 1166 1167Like -MD, but also implies -E and writes to stdout by default 1168 1169.. option:: -MD, --write-dependencies 1170 1171Write a depfile containing user and system headers 1172 1173.. option:: -MF<file> 1174 1175Write depfile output from -MMD, -MD, -MM, or -M to <file> 1176 1177.. option:: -MG, --print-missing-file-dependencies 1178 1179Add missing headers to depfile 1180 1181.. option:: -MJ<arg> 1182 1183Write a compilation database entry per input 1184 1185.. option:: -MM, --user-dependencies 1186 1187Like -MMD, but also implies -E and writes to stdout by default 1188 1189.. option:: -MMD, --write-user-dependencies 1190 1191Write a depfile containing user headers 1192 1193.. option:: -MP 1194 1195Create phony target for each dependency (other than main file) 1196 1197.. option:: -MQ<arg> 1198 1199Specify name of main file output to quote in depfile 1200 1201.. option:: -MT<arg> 1202 1203Specify name of main file output in depfile 1204 1205.. option:: -MV 1206 1207Use NMake/Jom format for the depfile 1208 1209Dumping preprocessor state 1210-------------------------- 1211 1212Flags allowing the state of the preprocessor to be dumped in various ways. 1213 1214.. option:: -d 1215 1216.. program:: clang1 1217.. option:: -d<arg> 1218.. program:: clang 1219 1220.. option:: -dD 1221 1222Print macro definitions in -E mode in addition to normal output 1223 1224.. option:: -dI 1225 1226Print include directives in -E mode in addition to normal output 1227 1228.. option:: -dM 1229 1230Print macro definitions in -E mode instead of normal output 1231 1232Diagnostic flags 1233~~~~~~~~~~~~~~~~ 1234 1235Flags controlling which warnings, errors, and remarks Clang will generate. 1236See the :doc:`full list of warning and remark flags <DiagnosticsReference>`. 1237 1238.. option:: -R<remark> 1239 1240Enable the specified remark 1241 1242.. option:: -Rpass-analysis=<arg> 1243 1244Report transformation analysis from optimization passes whose name matches the given POSIX regular expression 1245 1246.. option:: -Rpass-missed=<arg> 1247 1248Report missed transformations by optimization passes whose name matches the given POSIX regular expression 1249 1250.. option:: -Rpass=<arg> 1251 1252Report transformations performed by optimization passes whose name matches the given POSIX regular expression 1253 1254.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg> 1255 1256Enable the specified warning 1257 1258.. option:: -Wdeprecated, -Wno-deprecated 1259 1260Enable warnings for deprecated constructs and define \_\_DEPRECATED 1261 1262.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg> 1263 1264Target-independent compilation options 1265~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1266.. option:: -Wframe-larger-than=<arg> 1267 1268.. option:: -fPIC, -fno-PIC 1269 1270.. option:: -fPIE, -fno-PIE 1271 1272.. option:: -faddrsig, -fno-addrsig 1273 1274Emit an address-significance table 1275 1276.. option:: -falign-functions, -fno-align-functions 1277 1278.. program:: clang1 1279.. option:: -falign-functions=<arg> 1280.. program:: clang 1281 1282.. program:: clang1 1283.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation 1284.. program:: clang 1285 1286Enable C++17 aligned allocation functions 1287 1288.. option:: -fallow-editor-placeholders, -fno-allow-editor-placeholders 1289 1290Treat editor placeholders as valid source code 1291 1292.. option:: -fallow-unsupported 1293 1294.. option:: -faltivec, -fno-altivec 1295 1296.. option:: -fansi-escape-codes 1297 1298Use ANSI escape codes for diagnostics 1299 1300.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables 1301 1302Use Apple's kernel extensions ABI 1303 1304.. option:: -fapple-link-rtlib 1305 1306Force linking the clang builtins runtime library 1307 1308.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack 1309 1310Enable Apple gcc-compatible #pragma pack handling 1311 1312.. option:: -fapplication-extension, -fno-application-extension 1313 1314Restrict code to those available for App Extensions 1315 1316.. option:: -fasm, -fno-asm 1317 1318.. option:: -fasm-blocks, -fno-asm-blocks 1319 1320.. option:: -fassociative-math, -fno-associative-math 1321 1322.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new 1323 1324.. option:: -fast 1325 1326.. option:: -fastcp 1327 1328.. option:: -fastf 1329 1330.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables 1331 1332.. option:: -fautolink, -fno-autolink 1333 1334.. option:: -fbasic-block-sections=<arg> 1335 1336Generate labels for each basic block or place each basic block or a subset of basic blocks in its own section. 1337 1338.. option:: -fblocks, -fno-blocks 1339 1340Enable the 'blocks' language feature 1341 1342.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg> 1343 1344.. option:: -fborland-extensions, -fno-borland-extensions 1345 1346Accept non-standard constructs supported by the Borland compiler 1347 1348.. option:: -fbracket-depth=<arg> 1349 1350.. option:: -fbuiltin, -fno-builtin 1351 1352.. option:: -fbuiltin-module-map 1353 1354Load the clang builtins module map file. 1355 1356.. option:: -fc++-static-destructors, -fno-c++-static-destructors 1357 1358.. option:: -fcaret-diagnostics, -fno-caret-diagnostics 1359 1360.. option:: -fcf-protection=<arg>, -fcf-protection (equivalent to -fcf-protection=full) 1361 1362Instrument control-flow architecture protection. Options: return, branch, full, none. 1363 1364.. option:: -fcf-runtime-abi=<arg> 1365 1366.. option:: -fchar8\_t, -fno-char8\_t 1367 1368Enable C++ builtin type char8\_t 1369 1370.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg> 1371 1372.. option:: -fcolor-diagnostics, -fno-color-diagnostics 1373 1374Enable colors in diagnostics 1375 1376.. option:: -fcommon, -fno-common 1377 1378Place uninitialized global variables in a common block 1379 1380.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg> 1381 1382.. option:: -fconstant-cfstrings, -fno-constant-cfstrings 1383 1384.. option:: -fconstant-string-class=<arg> 1385 1386.. option:: -fconstexpr-backtrace-limit=<arg> 1387 1388.. option:: -fconstexpr-depth=<arg> 1389 1390.. option:: -fconstexpr-steps=<arg> 1391 1392.. option:: -fconvergent-functions 1393 1394Assume functions may be convergent 1395 1396.. option:: -fcoroutines-ts, -fno-coroutines-ts 1397 1398Enable support for the C++ Coroutines TS 1399 1400.. option:: -fcoverage-mapping, -fno-coverage-mapping 1401 1402Generate coverage mapping to enable code coverage analysis 1403 1404.. option:: -fcreate-profile 1405 1406.. option:: -fcs-profile-generate 1407 1408Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1409 1410.. program:: clang1 1411.. option:: -fcs-profile-generate=<directory> 1412.. program:: clang 1413 1414Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1415 1416.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals 1417 1418Use approximate transcendental functions 1419 1420.. option:: -fcuda-short-ptr, -fno-cuda-short-ptr 1421 1422Use 32-bit pointers for accessing const/local/shared address spaces 1423 1424.. option:: -fcxx-exceptions, -fno-cxx-exceptions 1425 1426Enable C++ exceptions 1427 1428.. option:: -fcxx-modules, -fno-cxx-modules 1429 1430.. option:: -fdata-sections, -fno-data-sections 1431 1432Place each data in its own section 1433 1434.. option:: -fdebug-compilation-dir <arg>, -fdebug-compilation-dir=<arg> 1435 1436The compilation directory to embed in the debug info. 1437 1438.. option:: -fdebug-default-version=<arg> 1439 1440Default DWARF version to use, if a -g option caused DWARF debug info to be produced 1441 1442.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling 1443 1444Emit extra debug info to make sample profile more accurate 1445 1446.. option:: -fdebug-macro, -fno-debug-macro 1447 1448Emit macro debug information 1449 1450.. option:: -fdebug-pass-arguments 1451 1452.. option:: -fdebug-pass-structure 1453 1454.. option:: -fdebug-prefix-map=<arg> 1455 1456remap file source paths in debug info 1457 1458.. option:: -fdebug-ranges-base-address, -fno-debug-ranges-base-address 1459 1460Use DWARF base address selection entries in .debug\_ranges 1461 1462.. option:: -fdebug-types-section, -fno-debug-types-section 1463 1464Place debug types in their own section (ELF Only) 1465 1466.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing 1467 1468Parse templated function definitions at the end of the translation unit 1469 1470.. option:: -fdelete-null-pointer-checks, -fno-delete-null-pointer-checks 1471 1472Treat usage of null pointers as undefined behavior (default) 1473 1474.. option:: -fdenormal-fp-math=<arg> 1475 1476.. option:: -fdiagnostics-absolute-paths 1477 1478Print absolute paths in diagnostics 1479 1480.. option:: -fdiagnostics-color, -fno-diagnostics-color 1481 1482.. program:: clang1 1483.. option:: -fdiagnostics-color=<arg> 1484.. program:: clang 1485 1486.. option:: -fdiagnostics-hotness-threshold=<number> 1487 1488Prevent optimization remarks from being output if they do not have at least this profile count 1489 1490.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness 1491 1492Enable profile hotness information in diagnostic line 1493 1494.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack 1495 1496Display include stacks for diagnostic notes 1497 1498.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option 1499 1500Print option name with mappable diagnostics 1501 1502.. option:: -fdiagnostics-show-template-tree 1503 1504Print a template comparison tree for differing templates 1505 1506.. option:: -fdigraphs, -fno-digraphs 1507 1508Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default) 1509 1510.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers 1511 1512Allow '$' in identifiers 1513 1514.. option:: -fdouble-square-bracket-attributes, -fno-double-square-bracket-attributes 1515 1516Enable '\[\[\]\]' attributes in all C and C++ language modes 1517 1518.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm 1519 1520.. option:: -fdwarf-exceptions 1521 1522Use DWARF style exceptions 1523 1524.. option:: -felide-constructors, -fno-elide-constructors 1525 1526.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols 1527 1528.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker) 1529 1530Embed LLVM bitcode (option: off, all, bitcode, marker) 1531 1532.. option:: -femit-all-decls 1533 1534Emit all declarations, even if unused 1535 1536.. option:: -femulated-tls, -fno-emulated-tls 1537 1538Use emutls functions to access thread\_local variables 1539 1540.. option:: -fenable-matrix 1541 1542Enable matrix data type and related builtin functions 1543 1544.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg> 1545 1546.. option:: -ferror-limit=<arg> 1547 1548.. option:: -fescaping-block-tail-calls, -fno-escaping-block-tail-calls 1549 1550.. option:: -fexceptions, -fno-exceptions 1551 1552Enable support for exception handling 1553 1554.. option:: -fexec-charset=<arg> 1555 1556.. option:: -fexperimental-new-constant-interpreter 1557 1558Enable the experimental new constant interpreter 1559 1560.. option:: -fexperimental-relative-c++-abi-vtables, -fno-experimental-relative-c++-abi-vtables 1561 1562Use the experimental C++ class ABI for classes with virtual tables 1563 1564.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg> 1565 1566.. option:: -ffast-math, -fno-fast-math 1567 1568Allow aggressive, lossy floating-point optimizations 1569 1570.. option:: -ffile-prefix-map=<arg> 1571 1572remap file source paths in debug info and predefined preprocessor macros 1573 1574.. option:: -ffinite-math-only, -fno-finite-math-only 1575 1576.. option:: -ffixed-point, -fno-fixed-point 1577 1578Enable fixed point types 1579 1580.. option:: -ffor-scope, -fno-for-scope 1581 1582.. option:: -fforce-dwarf-frame, -fno-force-dwarf-frame 1583 1584Always emit a debug frame section 1585 1586.. option:: -fforce-emit-vtables, -fno-force-emit-vtables 1587 1588Emits more virtual tables to improve devirtualization 1589 1590.. option:: -fforce-enable-int128, -fno-force-enable-int128 1591 1592Enable support for int128\_t type 1593 1594.. option:: -ffp-contract=<arg> 1595 1596Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma) \| off (never fuse). Default is 'fast' for CUDA/HIP and 'on' otherwise. 1597 1598.. option:: -ffp-exception-behavior=<arg> 1599 1600Specifies the exception behavior of floating-point operations. 1601 1602.. option:: -ffp-model=<arg> 1603 1604Controls the semantics of floating-point calculations. 1605 1606.. option:: -ffreestanding 1607 1608Assert that the compilation takes place in a freestanding environment 1609 1610.. option:: -ffunction-sections, -fno-function-sections 1611 1612Place each function in its own section 1613 1614.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm 1615 1616.. option:: -fgnu-keywords, -fno-gnu-keywords 1617 1618Allow GNU-extension keywords regardless of language standard 1619 1620.. option:: -fgnu-runtime 1621 1622Generate output compatible with the standard GNU Objective-C runtime 1623 1624.. option:: -fgnu89-inline, -fno-gnu89-inline 1625 1626Use the gnu89 inline semantics 1627 1628.. option:: -fgnuc-version=<arg> 1629 1630Sets various macros to claim compatibility with the given GCC version (default is 4.2.1) 1631 1632.. option:: -fgpu-allow-device-init, -fno-gpu-allow-device-init 1633 1634Allow device side init function in HIP 1635 1636.. option:: -fgpu-rdc, -fcuda-rdc, -fno-gpu-rdc 1637 1638Generate relocatable device code, also known as separate compilation mode 1639 1640.. option:: -fhip-new-launch-api, -fno-hip-new-launch-api 1641 1642Use new kernel launching API for HIP 1643 1644.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities 1645 1646.. option:: -fhonor-nans, -fno-honor-nans 1647 1648.. option:: -fhosted 1649 1650.. option:: -fignore-exceptions 1651 1652Enable support for ignoring exception handling constructs 1653 1654.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps 1655 1656Implicitly search the file system for module map files. 1657 1658.. option:: -fimplicit-modules, -fno-implicit-modules 1659 1660.. option:: -finput-charset=<arg> 1661 1662.. option:: -finstrument-function-entry-bare 1663 1664Instrument function entry only, after inlining, without arguments to the instrumentation call 1665 1666.. option:: -finstrument-functions 1667 1668Generate calls to instrument function entry and exit 1669 1670.. option:: -finstrument-functions-after-inlining 1671 1672Like -finstrument-functions, but insert the calls after inlining 1673 1674.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as 1675 1676Enable the integrated assembler 1677 1678.. option:: -fintegrated-cc1, -fno-integrated-cc1 1679 1680Run cc1 in-process 1681 1682.. option:: -fjump-tables, -fno-jump-tables 1683 1684Use jump tables for lowering switches 1685 1686.. option:: -fkeep-static-consts, -fno-keep-static-consts 1687 1688Keep static const variables if unused 1689 1690.. option:: -flax-vector-conversions=<arg>, -flax-vector-conversions (equivalent to -flax-vector-conversions=integer), -fno-lax-vector-conversions (equivalent to -flax-vector-conversions=none) 1691 1692Enable implicit vector bit-casts 1693 1694.. option:: -flimited-precision=<arg> 1695 1696.. option:: -flto, -fno-lto 1697 1698Enable LTO in 'full' mode 1699 1700.. option:: -flto-jobs=<arg> 1701 1702Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected) 1703 1704.. program:: clang1 1705.. option:: -flto=<arg> 1706.. program:: clang 1707 1708Set LTO mode to either 'full' or 'thin' 1709 1710.. option:: -fmacro-backtrace-limit=<arg> 1711 1712.. option:: -fmath-errno, -fno-math-errno 1713 1714Require math functions to indicate errors by setting errno 1715 1716.. option:: -fmax-tokens=<arg> 1717 1718Max total number of preprocessed tokens for -Wmax-tokens. 1719 1720.. option:: -fmax-type-align=<arg> 1721 1722Specify the maximum alignment to enforce on pointers lacking an explicit alignment 1723 1724.. option:: -fmerge-all-constants, -fno-merge-all-constants 1725 1726Allow merging of constants 1727 1728.. option:: -fmessage-length=<arg> 1729 1730Format message diagnostics so that they fit within N columns 1731 1732.. option:: -fmodule-file-deps, -fno-module-file-deps 1733 1734.. option:: -fmodule-map-file=<file> 1735 1736Load this module map file 1737 1738.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg> 1739 1740Specify the name of the module to build 1741 1742.. option:: -fmodules, -fno-modules 1743 1744Enable the 'modules' language feature 1745 1746.. option:: -fmodules-decluse, -fno-modules-decluse 1747 1748Require declaration of modules used within a module 1749 1750.. option:: -fmodules-ignore-macro=<arg> 1751 1752Ignore the definition of the given macro when building and loading modules 1753 1754.. option:: -fmodules-search-all, -fno-modules-search-all 1755 1756Search even non-imported modules to resolve references 1757 1758.. option:: -fmodules-strict-decluse 1759 1760Like -fmodules-decluse but requires all headers to be in modules 1761 1762.. option:: -fmodules-ts 1763 1764Enable support for the C++ Modules TS 1765 1766.. option:: -fmodules-validate-input-files-content 1767 1768Validate PCM input files based on content if mtime differs 1769 1770.. option:: -fms-compatibility, -fno-ms-compatibility 1771 1772Enable full Microsoft Visual C++ compatibility 1773 1774.. option:: -fms-compatibility-version=<arg> 1775 1776Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) 1777 1778.. option:: -fms-extensions, -fno-ms-extensions 1779 1780Accept some non-standard constructs supported by the Microsoft compiler 1781 1782.. option:: -fms-memptr-rep=<arg> 1783 1784.. option:: -fms-volatile 1785 1786.. option:: -fmsc-version=<arg> 1787 1788Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default)) 1789 1790.. option:: -fmudflap 1791 1792.. option:: -fmudflapth 1793 1794.. option:: -fnested-functions 1795 1796.. option:: -fnew-alignment=<align>, -fnew-alignment <arg> 1797 1798Specifies the largest alignment guaranteed by '::operator new(size\_t)' 1799 1800.. option:: -fnext-runtime 1801 1802.. option:: -fno-access-control, -fno-no-access-control 1803 1804.. option:: -fno-builtin-<arg> 1805 1806Disable implicit builtin knowledge of a specific function 1807 1808.. option:: -fno-elide-type 1809 1810Do not elide types when printing diagnostics 1811 1812.. option:: -fno-max-type-align 1813 1814.. option:: -fno-operator-names 1815 1816Do not treat C++ operator name keywords as synonyms for operators 1817 1818.. option:: -fno-strict-modules-decluse 1819 1820.. option:: -fno-temp-file 1821 1822Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes 1823 1824.. option:: -fno-working-directory 1825 1826.. option:: -fno\_modules-validate-input-files-content 1827 1828.. program:: clang1 1829.. option:: -fno\_pch-validate-input-files-content 1830.. program:: clang 1831 1832.. option:: -fnostack-clash-protection 1833 1834Disable stack clash protection 1835 1836.. option:: -fnoxray-link-deps 1837 1838.. option:: -fobjc-abi-version=<arg> 1839 1840.. option:: -fobjc-arc, -fno-objc-arc 1841 1842Synthesize retain and release calls for Objective-C pointers 1843 1844.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions 1845 1846Use EH-safe code when synthesizing retains and releases in -fobjc-arc 1847 1848.. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls 1849 1850.. option:: -fobjc-exceptions, -fno-objc-exceptions 1851 1852Enable Objective-C exceptions 1853 1854.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type 1855 1856.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch 1857 1858.. option:: -fobjc-link-runtime 1859 1860.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi 1861 1862.. option:: -fobjc-nonfragile-abi-version=<arg> 1863 1864.. option:: -fobjc-runtime=<arg> 1865 1866Specify the target Objective-C runtime kind and version 1867 1868.. option:: -fobjc-sender-dependent-dispatch 1869 1870.. option:: -fobjc-weak, -fno-objc-weak 1871 1872Enable ARC-style weak references in Objective-C 1873 1874.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer 1875 1876.. option:: -fopenmp, -fno-openmp 1877 1878Parse OpenMP pragmas and generate parallel code. 1879 1880.. option:: -fopenmp-simd, -fno-openmp-simd 1881 1882Emit OpenMP code only for SIMD-based constructs. 1883 1884.. option:: -fopenmp-version=<arg> 1885 1886.. program:: clang1 1887.. option:: -fopenmp=<arg> 1888.. program:: clang 1889 1890.. option:: -foperator-arrow-depth=<arg> 1891 1892.. option:: -foptimization-record-file=<file> 1893 1894Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options. 1895 1896.. option:: -foptimization-record-passes=<regex> 1897 1898Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes) 1899 1900.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls 1901 1902.. option:: -forder-file-instrumentation 1903 1904Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) 1905 1906.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg> 1907 1908.. option:: -fpack-struct, -fno-pack-struct 1909 1910.. program:: clang1 1911.. option:: -fpack-struct=<arg> 1912.. program:: clang 1913 1914Specify the default maximum struct packing alignment 1915 1916.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings 1917 1918Recognize and construct Pascal-style string literals 1919 1920.. option:: -fpass-plugin=<dsopath> 1921 1922Load pass plugin from a dynamic shared object file (only with new pass manager). 1923 1924.. option:: -fpatchable-function-entry=<N,M> 1925 1926Generate M NOPs before function entry and N-M NOPs after function entry 1927 1928.. option:: -fpcc-struct-return 1929 1930Override the default ABI to return all structs on the stack 1931 1932.. option:: -fpch-preprocess 1933 1934.. option:: -fpch-validate-input-files-content 1935 1936Validate PCH input files based on content if mtime differs 1937 1938.. option:: -fpic, -fno-pic 1939 1940.. option:: -fpie, -fno-pie 1941 1942.. option:: -fplt, -fno-plt 1943 1944.. option:: -fplugin=<dsopath> 1945 1946Load the named plugin (dynamic shared object) 1947 1948.. option:: -fpreserve-as-comments, -fno-preserve-as-comments 1949 1950.. option:: -fprofile-arcs, -fno-profile-arcs 1951 1952.. option:: -fprofile-dir=<arg> 1953 1954.. option:: -fprofile-exclude-files=<arg> 1955 1956Instrument only functions from files where names don't match all the regexes separated by a semi-colon 1957 1958.. option:: -fprofile-filter-files=<arg> 1959 1960Instrument only functions from files where names match any regex separated by a semi-colon 1961 1962.. option:: -fprofile-generate, -fno-profile-generate 1963 1964Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1965 1966.. program:: clang1 1967.. option:: -fprofile-generate=<directory> 1968.. program:: clang 1969 1970Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 1971 1972.. option:: -fprofile-instr-generate, -fno-profile-instr-generate 1973 1974Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) 1975 1976.. program:: clang1 1977.. option:: -fprofile-instr-generate=<file> 1978.. program:: clang 1979 1980Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var) 1981 1982.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use 1983 1984.. program:: clang1 1985.. option:: -fprofile-instr-use=<arg> 1986.. program:: clang 1987 1988Use instrumentation data for profile-guided optimization 1989 1990.. option:: -fprofile-remapping-file=<file>, -fprofile-remapping-file <arg> 1991 1992Use the remappings described in <file> to match the profile data against names in the program 1993 1994.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate 1995 1996Specifies that the sample profile is accurate. If the sample 1997 profile is accurate, callsites without profile samples are marked 1998 as cold. Otherwise, treat callsites without profile samples as if 1999 we have no profile 2000 2001.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use 2002 2003.. program:: clang1 2004.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg> 2005.. program:: clang 2006 2007Enable sample-based profile guided optimizations 2008 2009.. program:: clang1 2010.. option:: -fprofile-use=<pathname> 2011.. program:: clang 2012 2013Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>. 2014 2015.. option:: -freciprocal-math, -fno-reciprocal-math 2016 2017Allow division operations to be reassociated 2018 2019.. option:: -freg-struct-return 2020 2021Override the default ABI to return small structs in registers 2022 2023.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit 2024 2025Use atexit or \_\_cxa\_atexit to register global destructors 2026 2027.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args 2028 2029Enable C++17 relaxed template template argument matching 2030 2031.. option:: -freroll-loops, -fno-reroll-loops 2032 2033Turn on loop reroller 2034 2035.. option:: -fretain-comments-from-system-headers 2036 2037.. option:: -frewrite-imports, -fno-rewrite-imports 2038 2039.. option:: -frewrite-includes, -fno-rewrite-includes 2040 2041.. option:: -frewrite-map-file <arg> 2042 2043.. program:: clang1 2044.. option:: -frewrite-map-file=<arg> 2045.. program:: clang 2046 2047.. option:: -fropi, -fno-ropi 2048 2049Generate read-only position independent code (ARM only) 2050 2051.. option:: -frounding-math, -fno-rounding-math 2052 2053.. option:: -frtti, -fno-rtti 2054 2055.. option:: -frtti-data, -fno-rtti-data 2056 2057.. option:: -frwpi, -fno-rwpi 2058 2059Generate read-write position independent code (ARM only) 2060 2061.. option:: -fsave-optimization-record, -fno-save-optimization-record 2062 2063Generate a YAML optimization record file 2064 2065.. program:: clang1 2066.. option:: -fsave-optimization-record=<format> 2067.. program:: clang 2068 2069Generate an optimization record file in a specific format 2070 2071.. option:: -fseh-exceptions 2072 2073Use SEH style exceptions 2074 2075.. option:: -fsemantic-interposition, -fno-semantic-interposition 2076 2077.. option:: -fshort-enums, -fno-short-enums 2078 2079Allocate to an enum type only as many bytes as it needs for the declared range of possible values 2080 2081.. option:: -fshort-wchar, -fno-short-wchar 2082 2083Force wchar\_t to be a short unsigned int 2084 2085.. option:: -fshow-column, -fno-show-column 2086 2087.. option:: -fshow-overloads=<arg> 2088 2089Which overload candidates to show when overload resolution fails: best\|all; defaults to all 2090 2091.. option:: -fshow-source-location, -fno-show-source-location 2092 2093.. option:: -fsignaling-math, -fno-signaling-math 2094 2095.. option:: -fsigned-bitfields 2096 2097.. option:: -fsigned-char, -fno-signed-char, --signed-char 2098 2099char is signed 2100 2101.. option:: -fsigned-zeros, -fno-signed-zeros 2102 2103.. option:: -fsized-deallocation, -fno-sized-deallocation 2104 2105Enable C++14 sized global deallocation functions 2106 2107.. option:: -fsjlj-exceptions 2108 2109Use SjLj style exceptions 2110 2111.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize 2112 2113Enable the superword-level parallelism vectorization passes 2114 2115.. option:: -fspell-checking, -fno-spell-checking 2116 2117.. option:: -fspell-checking-limit=<arg> 2118 2119.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining 2120 2121Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF 2122 2123.. option:: -fsplit-lto-unit, -fno-split-lto-unit 2124 2125Enables splitting of the LTO unit 2126 2127.. option:: -fsplit-stack 2128 2129.. option:: -fstack-clash-protection 2130 2131Enable stack clash protection 2132 2133.. option:: -fstack-protector, -fno-stack-protector 2134 2135Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca, which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable 2136 2137.. option:: -fstack-protector-all 2138 2139Enable stack protectors for all functions 2140 2141.. option:: -fstack-protector-strong 2142 2143Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable 2144 2145.. option:: -fstack-size-section, -fno-stack-size-section 2146 2147Emit section containing metadata on function stack sizes 2148 2149.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug 2150 2151Emit full debug info for all types used by the program 2152 2153.. option:: -fstrict-aliasing, -fno-strict-aliasing 2154 2155.. option:: -fstrict-enums, -fno-strict-enums 2156 2157Enable optimizations based on the strict definition of an enum's value range 2158 2159.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow 2160 2161Assume that overflowing float-to-int casts are undefined (default) 2162 2163.. option:: -fstrict-overflow, -fno-strict-overflow 2164 2165.. option:: -fstrict-return, -fno-strict-return 2166 2167.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers 2168 2169Enable optimizations based on the strict rules for overwriting polymorphic C++ objects 2170 2171.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa 2172 2173.. option:: -fsymbol-partition=<arg> 2174 2175.. option:: -ftabstop=<arg> 2176 2177.. option:: -ftemplate-backtrace-limit=<arg> 2178 2179.. option:: -ftemplate-depth-<arg> 2180 2181.. option:: -ftemplate-depth=<arg> 2182 2183.. option:: -ftest-coverage, -fno-test-coverage 2184 2185.. option:: -fthin-link-bitcode=<arg> 2186 2187Write minimized bitcode to <file> for the ThinLTO thin link only 2188 2189.. option:: -fthinlto-index=<arg> 2190 2191Perform ThinLTO importing using provided function summary index 2192 2193.. option:: -fthreadsafe-statics, -fno-threadsafe-statics 2194 2195.. option:: -ftime-report 2196 2197.. option:: -ftime-trace 2198 2199 2200Turn on time profiler. Generates JSON file based on output filename. Results 2201can be analyzed with chrome://tracing or `Speedscope App 2202<https://www.speedscope.app>`_ for flamegraph visualization. 2203 2204.. option:: -ftime-trace-granularity=<arg> 2205 2206Minimum time granularity (in microseconds) traced by time profiler 2207 2208.. option:: -ftls-model=<arg> 2209 2210.. option:: -ftrap-function=<arg> 2211 2212Issue call to specified function rather than a trap instruction 2213 2214.. option:: -ftrapping-math, -fno-trapping-math 2215 2216.. option:: -ftrapv 2217 2218Trap on integer overflow 2219 2220.. option:: -ftrapv-handler <arg> 2221 2222.. program:: clang1 2223.. option:: -ftrapv-handler=<function name> 2224.. program:: clang 2225 2226Specify the function to be called on overflow 2227 2228.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs 2229 2230Process trigraph sequences 2231 2232.. option:: -ftrivial-auto-var-init-stop-after=<arg> 2233 2234Stop initializing trivial automatic stack variables after the specified number of instances 2235 2236.. option:: -ftrivial-auto-var-init=<arg> 2237 2238Initialize trivial automatic stack variables: uninitialized (default) \| pattern 2239 2240.. option:: -funique-basic-block-section-names, -fno-unique-basic-block-section-names 2241 2242Use unique names for basic block sections (ELF Only) 2243 2244.. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names 2245 2246Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path 2247 2248.. option:: -funique-section-names, -fno-unique-section-names 2249 2250.. option:: -funit-at-a-time, -fno-unit-at-a-time 2251 2252.. option:: -funroll-loops, -fno-unroll-loops 2253 2254Turn on loop unroller 2255 2256.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations 2257 2258.. option:: -funsigned-bitfields 2259 2260.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char 2261 2262.. option:: -funwind-tables, -fno-unwind-tables 2263 2264.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit 2265 2266.. option:: -fuse-init-array, -fno-use-init-array 2267 2268.. option:: -fuse-ld=<arg> 2269 2270.. option:: -fuse-line-directives, -fno-use-line-directives 2271 2272Use #line in preprocessed output 2273 2274.. option:: -fvalidate-ast-input-files-content 2275 2276Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical 2277 2278.. option:: -fveclib=<arg> 2279 2280Use the given vector functions library 2281 2282.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize 2283 2284Enable the loop vectorization passes 2285 2286.. option:: -fverbose-asm, -dA, -fno-verbose-asm 2287 2288Generate verbose assembly output 2289 2290.. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination 2291 2292Enables dead virtual function elimination optimization. Requires -flto=full 2293 2294.. option:: -fvisibility-global-new-delete-hidden 2295 2296Give global C++ operator new and delete declarations hidden visibility 2297 2298.. option:: -fvisibility-inlines-hidden 2299 2300Give inline C++ member functions hidden visibility by default 2301 2302.. option:: -fvisibility-ms-compat 2303 2304Give global types 'default' visibility and global functions and variables 'hidden' visibility by default 2305 2306.. option:: -fvisibility=<arg> 2307 2308Set the default symbol visibility for all global declarations 2309 2310.. option:: -fwasm-exceptions 2311 2312Use WebAssembly style exceptions 2313 2314.. option:: -fwhole-program-vtables, -fno-whole-program-vtables 2315 2316Enables whole-program vtable optimization. Requires -flto 2317 2318.. option:: -fwrapv, -fno-wrapv 2319 2320Treat signed integer overflow as two's complement 2321 2322.. option:: -fwritable-strings 2323 2324Store string literals as writable data 2325 2326.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents 2327 2328Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented 2329 2330.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents 2331 2332Always emit \_\_xray\_typedevent(...) calls even if the containing function is not always instrumented 2333 2334.. option:: -fxray-always-instrument=<arg> 2335 2336DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute. 2337 2338.. option:: -fxray-attr-list=<arg> 2339 2340Filename defining the list of functions/types for imbuing XRay attributes. 2341 2342.. option:: -fxray-function-index, -fno-xray-function-index 2343 2344.. option:: -fxray-ignore-loops, -fno-xray-ignore-loops 2345 2346Don't instrument functions with loops unless they also meet the minimum function size 2347 2348.. option:: -fxray-instruction-threshold<arg> 2349 2350.. program:: clang1 2351.. option:: -fxray-instruction-threshold=<arg> 2352.. program:: clang 2353 2354Sets the minimum function size to instrument with XRay 2355 2356.. option:: -fxray-instrument, -fno-xray-instrument 2357 2358Generate XRay instrumentation sleds on function entry and exit 2359 2360.. option:: -fxray-instrumentation-bundle=<arg> 2361 2362Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'. 'function' includes both 'function-entry' and 'function-exit'. 2363 2364.. option:: -fxray-link-deps 2365 2366Tells clang to add the link dependencies for XRay. 2367 2368.. option:: -fxray-modes=<arg> 2369 2370List of modes to link in by default into XRay instrumented binaries. 2371 2372.. option:: -fxray-never-instrument=<arg> 2373 2374DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute. 2375 2376.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss 2377 2378.. option:: -fzvector, -fno-zvector, -mzvector 2379 2380Enable System z vector language extension 2381 2382.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic 2383 2384.. option:: -pedantic-errors, --pedantic-errors 2385 2386OpenCL flags 2387------------ 2388.. option:: -cl-denorms-are-zero 2389 2390OpenCL only. Allow denormals to be flushed to zero. 2391 2392.. option:: -cl-fast-relaxed-math 2393 2394OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_. 2395 2396.. option:: -cl-finite-math-only 2397 2398OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf. 2399 2400.. option:: -cl-fp32-correctly-rounded-divide-sqrt 2401 2402OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded. 2403 2404.. option:: -cl-kernel-arg-info 2405 2406OpenCL only. Generate kernel argument metadata. 2407 2408.. option:: -cl-mad-enable 2409 2410OpenCL only. Allow use of less precise MAD computations in the generated binary. 2411 2412.. option:: -cl-no-signed-zeros 2413 2414OpenCL only. Allow use of less precise no signed zeros computations in the generated binary. 2415 2416.. option:: -cl-opt-disable 2417 2418OpenCL only. This option disables all optimizations. By default optimizations are enabled. 2419 2420.. option:: -cl-single-precision-constant 2421 2422OpenCL only. Treat double precision floating-point constant as single precision constant. 2423 2424.. option:: -cl-std=<arg> 2425 2426OpenCL language standard to compile for. 2427 2428.. option:: -cl-strict-aliasing 2429 2430OpenCL only. This option is added for compatibility with OpenCL 1.0. 2431 2432.. option:: -cl-uniform-work-group-size 2433 2434OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel 2435 2436.. option:: -cl-unsafe-math-optimizations 2437 2438OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable. 2439 2440SYCL flags 2441---------- 2442.. option:: -fsycl, -fno-sycl 2443 2444Enable SYCL kernels compilation for device 2445 2446.. option:: -sycl-std=<arg> 2447 2448SYCL language standard to compile for. 2449 2450Target-dependent compilation options 2451~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2452.. option:: -G<size>, -G=<arg>, -msmall-data-limit=<arg>, -msmall-data-threshold=<arg> 2453 2454Put objects of at most <size> bytes into small data section (MIPS / Hexagon) 2455 2456.. option:: -ffixed-x1 2457 2458Reserve the x1 register (AArch64/RISC-V only) 2459 2460.. option:: -ffixed-x10 2461 2462Reserve the x10 register (AArch64/RISC-V only) 2463 2464.. option:: -ffixed-x11 2465 2466Reserve the x11 register (AArch64/RISC-V only) 2467 2468.. option:: -ffixed-x12 2469 2470Reserve the x12 register (AArch64/RISC-V only) 2471 2472.. option:: -ffixed-x13 2473 2474Reserve the x13 register (AArch64/RISC-V only) 2475 2476.. option:: -ffixed-x14 2477 2478Reserve the x14 register (AArch64/RISC-V only) 2479 2480.. option:: -ffixed-x15 2481 2482Reserve the x15 register (AArch64/RISC-V only) 2483 2484.. option:: -ffixed-x16 2485 2486Reserve the x16 register (AArch64/RISC-V only) 2487 2488.. option:: -ffixed-x17 2489 2490Reserve the x17 register (AArch64/RISC-V only) 2491 2492.. option:: -ffixed-x18 2493 2494Reserve the x18 register (AArch64/RISC-V only) 2495 2496.. option:: -ffixed-x19 2497 2498Reserve the x19 register (AArch64/RISC-V only) 2499 2500.. option:: -ffixed-x2 2501 2502Reserve the x2 register (AArch64/RISC-V only) 2503 2504.. option:: -ffixed-x20 2505 2506Reserve the x20 register (AArch64/RISC-V only) 2507 2508.. option:: -ffixed-x21 2509 2510Reserve the x21 register (AArch64/RISC-V only) 2511 2512.. option:: -ffixed-x22 2513 2514Reserve the x22 register (AArch64/RISC-V only) 2515 2516.. option:: -ffixed-x23 2517 2518Reserve the x23 register (AArch64/RISC-V only) 2519 2520.. option:: -ffixed-x24 2521 2522Reserve the x24 register (AArch64/RISC-V only) 2523 2524.. option:: -ffixed-x25 2525 2526Reserve the x25 register (AArch64/RISC-V only) 2527 2528.. option:: -ffixed-x26 2529 2530Reserve the x26 register (AArch64/RISC-V only) 2531 2532.. option:: -ffixed-x27 2533 2534Reserve the x27 register (AArch64/RISC-V only) 2535 2536.. option:: -ffixed-x28 2537 2538Reserve the x28 register (AArch64/RISC-V only) 2539 2540.. option:: -ffixed-x29 2541 2542Reserve the x29 register (AArch64/RISC-V only) 2543 2544.. option:: -ffixed-x3 2545 2546Reserve the x3 register (AArch64/RISC-V only) 2547 2548.. option:: -ffixed-x30 2549 2550Reserve the x30 register (AArch64/RISC-V only) 2551 2552.. option:: -ffixed-x31 2553 2554Reserve the x31 register (AArch64/RISC-V only) 2555 2556.. option:: -ffixed-x4 2557 2558Reserve the x4 register (AArch64/RISC-V only) 2559 2560.. option:: -ffixed-x5 2561 2562Reserve the x5 register (AArch64/RISC-V only) 2563 2564.. option:: -ffixed-x6 2565 2566Reserve the x6 register (AArch64/RISC-V only) 2567 2568.. option:: -ffixed-x7 2569 2570Reserve the x7 register (AArch64/RISC-V only) 2571 2572.. option:: -ffixed-x8 2573 2574Reserve the x8 register (AArch64/RISC-V only) 2575 2576.. option:: -ffixed-x9 2577 2578Reserve the x9 register (AArch64/RISC-V only) 2579 2580.. option:: -m16 2581 2582.. option:: -m32 2583 2584.. option:: -m64 2585 2586.. option:: -mabi=<arg> 2587 2588.. option:: -maix-struct-return 2589 2590Return all structs in memory (PPC32 only) 2591 2592.. option:: -malign-branch-boundary=<arg> 2593 2594Specify the boundary's size to align branches 2595 2596.. option:: -malign-branch=<arg1>,<arg2>... 2597 2598Specify types of branches to align 2599 2600.. option:: -malign-double 2601 2602Align doubles to two words in structs (x86 only) 2603 2604.. option:: -march=<arg> 2605 2606.. option:: -masm=<arg> 2607 2608.. option:: -mbackchain, -mno-backchain 2609 2610Link stack frames through backchain on System Z 2611 2612.. option:: -mbranches-within-32B-boundaries 2613 2614Align selected branches (fused, jcc, jmp) within 32-byte boundary 2615 2616.. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small) 2617 2618.. option:: -mconsole<arg> 2619 2620.. program:: clang1 2621.. option:: -mcpu=<arg>, -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), -mv66 (equivalent to -mcpu=hexagonv66), -mv67 (equivalent to -mcpu=hexagonv67), -mv67t (equivalent to -mcpu=hexagonv67t) 2622.. program:: clang 2623 2624.. option:: -mcrc, -mno-crc 2625 2626Allow use of CRC instructions (ARM/Mips only) 2627 2628.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg> 2629 2630.. option:: -mdll<arg> 2631 2632.. option:: -mdouble=<arg> 2633 2634Force double to be 32 bits or 64 bits 2635 2636.. option:: -mdynamic-no-pic<arg> 2637 2638.. option:: -meabi <arg> 2639 2640Set EABI type, e.g. 4, 5 or gnu (default depends on triple) 2641 2642.. option:: -menable-experimental-extensions 2643 2644Enable use of experimental RISC-V extensions. 2645 2646.. option:: -mfentry 2647 2648Insert calls to fentry at function entry (x86/SystemZ only) 2649 2650.. option:: -mfloat-abi=<arg> 2651 2652.. option:: -mfpmath=<arg> 2653 2654.. option:: -mfpu=<arg> 2655 2656.. option:: -mglobal-merge, -mno-global-merge 2657 2658Enable merging of globals 2659 2660.. option:: -mhard-float 2661 2662.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg> 2663 2664.. option:: -mhwmult=<arg> 2665 2666.. option:: -miamcu, -mno-iamcu 2667 2668Use Intel MCU ABI 2669 2670.. option:: -mimplicit-float, -mno-implicit-float 2671 2672.. option:: -mimplicit-it=<arg> 2673 2674.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible 2675 2676(integrated-as) Emit an object file which can be used with an incremental linker 2677 2678.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg> 2679 2680.. option:: -mkernel 2681 2682.. option:: -mlong-calls, -mno-long-calls 2683 2684Generate branches with extended addressability, usually via indirect jumps. 2685 2686.. option:: -mlvi-cfi, -mno-lvi-cfi 2687 2688Enable only control-flow mitigations for Load Value Injection (LVI) 2689 2690.. option:: -mlvi-hardening, -mno-lvi-hardening 2691 2692Enable all mitigations for Load Value Injection (LVI) 2693 2694.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg> 2695 2696Set Mac OS X deployment target 2697 2698.. option:: -mmcu=<arg> 2699 2700.. option:: -mms-bitfields, -mno-ms-bitfields 2701 2702Set the default structure layout to be compatible with the Microsoft compiler standard 2703 2704.. option:: -mnop-mcount 2705 2706Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in. 2707 2708.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer 2709 2710Omit frame pointer setup for leaf functions 2711 2712.. option:: -moslib=<arg> 2713 2714.. option:: -mpacked-stack, -mno-packed-stack 2715 2716Use packed stack layout (SystemZ only). 2717 2718.. option:: -mpad-max-prefix-size=<arg> 2719 2720Specify maximum number of prefixes to use for padding 2721 2722.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations 2723 2724Use copy relocations support for PIE builds 2725 2726.. option:: -mprefer-vector-width=<arg> 2727 2728Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions. 2729 2730.. option:: -mqdsp6-compat 2731 2732Enable hexagon-qdsp6 backward compatibility 2733 2734.. option:: -mrecip 2735 2736.. program:: clang1 2737.. option:: -mrecip=<arg1>,<arg2>... 2738.. program:: clang 2739 2740.. option:: -mrecord-mcount 2741 2742Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call. 2743 2744.. option:: -mred-zone, -mno-red-zone 2745 2746.. option:: -mregparm=<arg> 2747 2748.. option:: -mrelax-all, -mno-relax-all 2749 2750(integrated-as) Relax all machine instructions 2751 2752.. option:: -mretpoline, -mno-retpoline 2753 2754.. option:: -mrtd, -mno-rtd 2755 2756Make StdCall calling convention the default 2757 2758.. option:: -msign-return-address=<arg> 2759 2760Select return address signing scope 2761 2762.. option:: -msoft-float, -mno-soft-float 2763 2764Use software floating point 2765 2766.. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening 2767 2768.. option:: -mstack-alignment=<arg> 2769 2770Set the stack alignment 2771 2772.. option:: -mstack-arg-probe, -mno-stack-arg-probe 2773 2774Enable stack probes 2775 2776.. option:: -mstack-probe-size=<arg> 2777 2778Set the stack probe size 2779 2780.. option:: -mstackrealign, -mno-stackrealign 2781 2782Force realign the stack at entry to every function 2783 2784.. option:: -msvr4-struct-return 2785 2786Return small structs in registers (PPC32 only) 2787 2788.. option:: -mthread-model <arg> 2789 2790The thread model to use, e.g. posix, single (posix by default) 2791 2792.. option:: -mthreads<arg> 2793 2794.. option:: -mthumb, -mno-thumb 2795 2796.. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs 2797 2798Enable direct TLS access through segment registers (default) 2799 2800.. option:: -mtls-size=<arg> 2801 2802Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) \| 24 (for 16MB, default) \| 32 (for 4GB) \| 48 (for 256TB, needs -mcmodel=large) 2803 2804.. program:: clang1 2805.. option:: -mtune=<arg> 2806.. program:: clang 2807 2808Accepted for compatibility with GCC. Currently has no effect. 2809 2810.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg> 2811 2812.. option:: -municode<arg> 2813 2814.. option:: -mvx, -mno-vx 2815 2816.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings 2817 2818.. option:: -mwatchos-version-min=<arg> 2819 2820.. option:: -mwavefrontsize64, -mno-wavefrontsize64 2821 2822Wavefront size 64 is used 2823 2824.. option:: -mwindows<arg> 2825 2826.. option:: -mx32 2827 2828AARCH64 2829------- 2830.. option:: -fcall-saved-x10 2831 2832Make the x10 register call-saved (AArch64 only) 2833 2834.. option:: -fcall-saved-x11 2835 2836Make the x11 register call-saved (AArch64 only) 2837 2838.. option:: -fcall-saved-x12 2839 2840Make the x12 register call-saved (AArch64 only) 2841 2842.. option:: -fcall-saved-x13 2843 2844Make the x13 register call-saved (AArch64 only) 2845 2846.. option:: -fcall-saved-x14 2847 2848Make the x14 register call-saved (AArch64 only) 2849 2850.. option:: -fcall-saved-x15 2851 2852Make the x15 register call-saved (AArch64 only) 2853 2854.. option:: -fcall-saved-x18 2855 2856Make the x18 register call-saved (AArch64 only) 2857 2858.. option:: -fcall-saved-x8 2859 2860Make the x8 register call-saved (AArch64 only) 2861 2862.. option:: -fcall-saved-x9 2863 2864Make the x9 register call-saved (AArch64 only) 2865 2866.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769 2867 2868Workaround Cortex-A53 erratum 835769 (AArch64 only) 2869 2870.. option:: -mgeneral-regs-only 2871 2872Generate code which only uses the general purpose registers (AArch64 only) 2873 2874AMDGPU 2875------ 2876.. option:: -mcode-object-v3, -mno-code-object-v3 2877 2878Enable code object v3 (AMDGPU only) 2879 2880.. option:: -mcumode, -mno-cumode 2881 2882CU wavefront execution mode is used (AMDGPU only) 2883 2884.. option:: -msram-ecc, -mno-sram-ecc 2885 2886Enable SRAM ECC (AMDGPU only) 2887 2888.. option:: -mxnack, -mno-xnack 2889 2890Enable XNACK (AMDGPU only) 2891 2892ARM 2893--- 2894.. option:: -fAAPCSBitfieldLoad 2895 2896Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only). 2897 2898.. option:: -ffixed-r9 2899 2900Reserve the r9 register (ARM only) 2901 2902.. option:: -mcmse 2903 2904Allow use of CMSE (Armv8-M Security Extensions) 2905 2906.. option:: -mexecute-only, -mno-execute-only, -mpure-code 2907 2908Disallow generation of data access to code sections (ARM only) 2909 2910.. option:: -mno-movt 2911 2912Disallow use of movt/movw pairs (ARM only) 2913 2914.. option:: -mno-neg-immediates 2915 2916Disallow converting instructions with negative immediates to their negation or inversion. 2917 2918.. option:: -mnocrc 2919 2920Disallow use of CRC instructions (ARM only) 2921 2922.. option:: -mrestrict-it, -mno-restrict-it 2923 2924Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode. 2925 2926.. option:: -mtp=<arg> 2927 2928Thread pointer access method (AArch32/AArch64 only) 2929 2930.. option:: -munaligned-access, -mno-unaligned-access 2931 2932Allow memory accesses to be unaligned (AArch32/AArch64 only) 2933 2934Hexagon 2935------- 2936.. option:: -mieee-rnd-near 2937 2938.. option:: -mmemops, -mno-memops 2939 2940Enable generation of memop instructions 2941 2942.. option:: -mnvj, -mno-nvj 2943 2944Enable generation of new-value jumps 2945 2946.. option:: -mnvs, -mno-nvs 2947 2948Enable generation of new-value stores 2949 2950.. option:: -mpackets, -mno-packets 2951 2952Enable generation of instruction packets 2953 2954Hexagon 2955------- 2956.. option:: -mhvx, -mno-hvx 2957 2958Enable Hexagon Vector eXtensions 2959 2960.. option:: -mhvx-length=<arg> 2961 2962Set Hexagon Vector Length 2963 2964.. program:: clang1 2965.. option:: -mhvx=<arg> 2966.. program:: clang 2967 2968Enable Hexagon Vector eXtensions 2969 2970MIPS 2971---- 2972.. option:: -mabicalls, -mno-abicalls 2973 2974Enable SVR4-style position-independent code (Mips only) 2975 2976.. option:: -mabs=<arg> 2977 2978.. option:: -mcheck-zero-division, -mno-check-zero-division 2979 2980.. option:: -mcompact-branches=<arg> 2981 2982.. option:: -mdouble-float 2983 2984.. option:: -mdsp, -mno-dsp 2985 2986.. option:: -mdspr2, -mno-dspr2 2987 2988.. option:: -membedded-data, -mno-embedded-data 2989 2990Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS) 2991 2992.. option:: -mextern-sdata, -mno-extern-sdata 2993 2994Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS) 2995 2996.. option:: -mfp32 2997 2998Use 32-bit floating point registers (MIPS only) 2999 3000.. option:: -mfp64 3001 3002Use 64-bit floating point registers (MIPS only) 3003 3004.. option:: -mginv, -mno-ginv 3005 3006.. option:: -mgpopt, -mno-gpopt 3007 3008Use GP relative accesses for symbols known to be in a small data section (MIPS) 3009 3010.. option:: -mindirect-jump=<arg> 3011 3012Change indirect jump instructions to inhibit speculation 3013 3014.. option:: -mips16 3015 3016.. option:: -mldc1-sdc1, -mno-ldc1-sdc1 3017 3018.. option:: -mlocal-sdata, -mno-local-sdata 3019 3020Extend the -G behaviour to object local data (MIPS) 3021 3022.. option:: -mmadd4, -mno-madd4 3023 3024Enable the generation of 4-operand madd.s, madd.d and related instructions. 3025 3026.. option:: -mmicromips, -mno-micromips 3027 3028.. option:: -mmsa, -mno-msa 3029 3030Enable MSA ASE (MIPS only) 3031 3032.. option:: -mmt, -mno-mt 3033 3034Enable MT ASE (MIPS only) 3035 3036.. option:: -mnan=<arg> 3037 3038.. option:: -mno-mips16 3039 3040.. option:: -msingle-float 3041 3042.. option:: -mvirt, -mno-virt 3043 3044.. option:: -mxgot, -mno-xgot 3045 3046PowerPC 3047------- 3048.. option:: -maltivec, -mno-altivec 3049 3050.. option:: -mcmpb, -mno-cmpb 3051 3052.. option:: -mcrbits, -mno-crbits 3053 3054.. option:: -mcrypto, -mno-crypto 3055 3056.. option:: -mdirect-move, -mno-direct-move 3057 3058.. option:: -mfloat128, -mno-float128 3059 3060.. option:: -mfprnd, -mno-fprnd 3061 3062.. option:: -mhtm, -mno-htm 3063 3064.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors 3065 3066.. option:: -misel, -mno-isel 3067 3068.. option:: -mlongcall, -mno-longcall 3069 3070.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf 3071 3072.. option:: -mpcrel, -mno-pcrel 3073 3074.. option:: -mpopcntd, -mno-popcntd 3075 3076.. option:: -mpower10-vector, -mno-power10-vector 3077 3078.. option:: -mpower8-vector, -mno-power8-vector 3079 3080.. option:: -mpower9-vector, -mno-power9-vector 3081 3082.. option:: -mqpx, -mno-qpx 3083 3084.. option:: -msecure-plt 3085 3086.. option:: -mspe, -mno-spe 3087 3088.. option:: -mvsx, -mno-vsx 3089 3090WebAssembly 3091----------- 3092.. option:: -matomics, -mno-atomics 3093 3094.. option:: -mbulk-memory, -mno-bulk-memory 3095 3096.. option:: -mexception-handling, -mno-exception-handling 3097 3098.. option:: -mmultivalue, -mno-multivalue 3099 3100.. option:: -mmutable-globals, -mno-mutable-globals 3101 3102.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint 3103 3104.. option:: -mreference-types, -mno-reference-types 3105 3106.. option:: -msign-ext, -mno-sign-ext 3107 3108.. option:: -msimd128, -mno-simd128 3109 3110.. option:: -mtail-call, -mno-tail-call 3111 3112.. option:: -munimplemented-simd128, -mno-unimplemented-simd128 3113 3114WebAssembly Driver 3115------------------ 3116.. option:: -mexec-model=<arg> 3117 3118Execution model (WebAssembly only) 3119 3120X86 3121--- 3122.. option:: -m3dnow, -mno-3dnow 3123 3124.. option:: -m3dnowa, -mno-3dnowa 3125 3126.. option:: -madx, -mno-adx 3127 3128.. option:: -maes, -mno-aes 3129 3130.. option:: -mavx, -mno-avx 3131 3132.. option:: -mavx2, -mno-avx2 3133 3134.. option:: -mavx512bf16, -mno-avx512bf16 3135 3136.. option:: -mavx512bitalg, -mno-avx512bitalg 3137 3138.. option:: -mavx512bw, -mno-avx512bw 3139 3140.. option:: -mavx512cd, -mno-avx512cd 3141 3142.. option:: -mavx512dq, -mno-avx512dq 3143 3144.. option:: -mavx512er, -mno-avx512er 3145 3146.. option:: -mavx512f, -mno-avx512f 3147 3148.. option:: -mavx512ifma, -mno-avx512ifma 3149 3150.. option:: -mavx512pf, -mno-avx512pf 3151 3152.. option:: -mavx512vbmi, -mno-avx512vbmi 3153 3154.. option:: -mavx512vbmi2, -mno-avx512vbmi2 3155 3156.. option:: -mavx512vl, -mno-avx512vl 3157 3158.. option:: -mavx512vnni, -mno-avx512vnni 3159 3160.. option:: -mavx512vp2intersect, -mno-avx512vp2intersect 3161 3162.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq 3163 3164.. option:: -mbmi, -mno-bmi 3165 3166.. option:: -mbmi2, -mno-bmi2 3167 3168.. option:: -mcldemote, -mno-cldemote 3169 3170.. option:: -mclflushopt, -mno-clflushopt 3171 3172.. option:: -mclwb, -mno-clwb 3173 3174.. option:: -mclzero, -mno-clzero 3175 3176.. option:: -mcx16, -mno-cx16 3177 3178.. option:: -menqcmd, -mno-enqcmd 3179 3180.. option:: -mf16c, -mno-f16c 3181 3182.. option:: -mfma, -mno-fma 3183 3184.. option:: -mfma4, -mno-fma4 3185 3186.. option:: -mfsgsbase, -mno-fsgsbase 3187 3188.. option:: -mfxsr, -mno-fxsr 3189 3190.. option:: -mgfni, -mno-gfni 3191 3192.. option:: -minvpcid, -mno-invpcid 3193 3194.. option:: -mlwp, -mno-lwp 3195 3196.. option:: -mlzcnt, -mno-lzcnt 3197 3198.. option:: -mmmx, -mno-mmx 3199 3200.. option:: -mmovbe, -mno-movbe 3201 3202.. option:: -mmovdir64b, -mno-movdir64b 3203 3204.. option:: -mmovdiri, -mno-movdiri 3205 3206.. option:: -mmwaitx, -mno-mwaitx 3207 3208.. option:: -mpclmul, -mno-pclmul 3209 3210.. option:: -mpconfig, -mno-pconfig 3211 3212.. option:: -mpku, -mno-pku 3213 3214.. option:: -mpopcnt, -mno-popcnt 3215 3216.. option:: -mprefetchwt1, -mno-prefetchwt1 3217 3218.. option:: -mprfchw, -mno-prfchw 3219 3220.. option:: -mptwrite, -mno-ptwrite 3221 3222.. option:: -mrdpid, -mno-rdpid 3223 3224.. option:: -mrdrnd, -mno-rdrnd 3225 3226.. option:: -mrdseed, -mno-rdseed 3227 3228.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk 3229 3230.. option:: -mrtm, -mno-rtm 3231 3232.. option:: -msahf, -mno-sahf 3233 3234.. option:: -mserialize, -mno-serialize 3235 3236.. option:: -msgx, -mno-sgx 3237 3238.. option:: -msha, -mno-sha 3239 3240.. option:: -mshstk, -mno-shstk 3241 3242.. option:: -msse, -mno-sse 3243 3244.. option:: -msse2, -mno-sse2 3245 3246.. option:: -msse3, -mno-sse3 3247 3248.. option:: -msse4.1, -mno-sse4.1 3249 3250.. program:: clang1 3251.. option:: -msse4.2, -mno-sse4.2, -msse4 3252.. program:: clang 3253 3254.. option:: -msse4a, -mno-sse4a 3255 3256.. option:: -mssse3, -mno-ssse3 3257 3258.. option:: -mtbm, -mno-tbm 3259 3260.. option:: -mtsxldtrk, -mno-tsxldtrk 3261 3262.. option:: -mvaes, -mno-vaes 3263 3264.. option:: -mvpclmulqdq, -mno-vpclmulqdq 3265 3266.. option:: -mvzeroupper, -mno-vzeroupper 3267 3268.. option:: -mwaitpkg, -mno-waitpkg 3269 3270.. option:: -mwbnoinvd, -mno-wbnoinvd 3271 3272.. option:: -mx87, -m80387, -mno-x87 3273 3274.. option:: -mxop, -mno-xop 3275 3276.. option:: -mxsave, -mno-xsave 3277 3278.. option:: -mxsavec, -mno-xsavec 3279 3280.. option:: -mxsaveopt, -mno-xsaveopt 3281 3282.. option:: -mxsaves, -mno-xsaves 3283 3284RISCV 3285----- 3286.. option:: -mrelax, -mno-relax 3287 3288Enable linker relaxation 3289 3290.. option:: -msave-restore, -mno-save-restore 3291 3292Enable using library calls for save and restore 3293 3294Long double flags 3295----------------- 3296Selects the long double implementation 3297 3298.. option:: -mlong-double-128 3299 3300Force long double to be 128 bits 3301 3302.. option:: -mlong-double-64 3303 3304Force long double to be 64 bits 3305 3306.. option:: -mlong-double-80 3307 3308Force long double to be 80 bits, padded to 128 bits for storage 3309 3310Optimization level 3311~~~~~~~~~~~~~~~~~~ 3312 3313Flags controlling how much optimization should be performed. 3314 3315.. option:: -O<arg>, -O (equivalent to -O1), --optimize, --optimize=<arg> 3316 3317.. option:: -Ofast<arg> 3318 3319Debug information generation 3320~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3321 3322Flags controlling how much and what kind of debug information should be 3323generated. 3324 3325Kind and level of debug information 3326----------------------------------- 3327.. option:: -g, --debug, --debug=<arg> 3328 3329Generate source-level debug information 3330 3331.. option:: -gdwarf 3332 3333Generate source-level debug information with the default dwarf version 3334 3335.. option:: -gdwarf-2 3336 3337Generate source-level debug information with dwarf version 2 3338 3339.. option:: -gdwarf-3 3340 3341Generate source-level debug information with dwarf version 3 3342 3343.. option:: -gdwarf-4 3344 3345Generate source-level debug information with dwarf version 4 3346 3347.. option:: -gdwarf-5 3348 3349Generate source-level debug information with dwarf version 5 3350 3351.. option:: -gfull 3352 3353.. option:: -gused 3354 3355Debug level 3356___________ 3357.. option:: -g0 3358 3359.. option:: -g2 3360 3361.. option:: -g3 3362 3363.. option:: -ggdb0 3364 3365.. option:: -ggdb1 3366 3367.. option:: -ggdb2 3368 3369.. option:: -ggdb3 3370 3371.. option:: -gline-directives-only 3372 3373Emit debug line info directives only 3374 3375.. option:: -gline-tables-only, -g1, -gmlt 3376 3377Emit debug line number tables only 3378 3379.. option:: -gmodules 3380 3381Generate debug info with external references to clang modules or precompiled headers 3382 3383Debugger to tune debug information for 3384______________________________________ 3385.. option:: -ggdb 3386 3387.. option:: -glldb 3388 3389.. option:: -gsce 3390 3391Debug information flags 3392----------------------- 3393.. option:: -gcolumn-info, -gno-column-info 3394 3395.. option:: -gdwarf-aranges 3396 3397.. option:: -gembed-source, -gno-embed-source 3398 3399Embed source text in DWARF debug sections 3400 3401.. option:: -ggnu-pubnames, -gno-gnu-pubnames 3402 3403.. option:: -gpubnames, -gno-pubnames 3404 3405.. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches 3406 3407.. option:: -gsplit-dwarf 3408 3409.. program:: clang1 3410.. option:: -gsplit-dwarf=<arg> 3411.. program:: clang 3412 3413Set DWARF fission mode to either 'split' or 'single' 3414 3415.. option:: -gstrict-dwarf, -gno-strict-dwarf 3416 3417.. option:: -gz 3418 3419DWARF debug sections compression type 3420 3421.. program:: clang1 3422.. option:: -gz=<arg> 3423.. program:: clang 3424 3425DWARF debug sections compression type 3426 3427Static analyzer flags 3428===================== 3429 3430Flags controlling the behavior of the Clang Static Analyzer. 3431 3432.. option:: -Xanalyzer <arg> 3433 3434Pass <arg> to the static analyzer 3435 3436Fortran compilation flags 3437========================= 3438 3439Flags that will be passed onto the ``gfortran`` compiler when Clang is given 3440a Fortran input. 3441 3442.. option:: -A<arg>, --assert <arg>, --assert=<arg> 3443 3444.. option:: -A-<arg> 3445 3446.. option:: -J<arg> 3447 3448.. option:: -cpp 3449 3450.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination 3451 3452.. option:: -falign-commons, -fno-align-commons 3453 3454.. option:: -fall-intrinsics, -fno-all-intrinsics 3455 3456.. option:: -fautomatic, -fno-automatic 3457 3458.. option:: -fbackslash, -fno-backslash 3459 3460.. option:: -fbacktrace, -fno-backtrace 3461 3462.. option:: -fblas-matmul-limit=<arg> 3463 3464.. option:: -fbounds-check, -fno-bounds-check 3465 3466.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries 3467 3468.. option:: -fcheck=<arg> 3469 3470.. option:: -fcoarray=<arg> 3471 3472.. option:: -fconvert=<arg> 3473 3474.. option:: -fcray-pointer, -fno-cray-pointer 3475 3476.. option:: -fd-lines-as-code, -fno-d-lines-as-code 3477 3478.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments 3479 3480.. option:: -fdefault-double-8, -fno-default-double-8 3481 3482.. option:: -fdefault-integer-8, -fno-default-integer-8 3483 3484.. option:: -fdefault-real-8, -fno-default-real-8 3485 3486.. option:: -fdollar-ok, -fno-dollar-ok 3487 3488.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized 3489 3490.. option:: -fdump-fortran-original, -fno-dump-fortran-original 3491 3492.. option:: -fdump-parse-tree, -fno-dump-parse-tree 3493 3494.. option:: -fexternal-blas, -fno-external-blas 3495 3496.. option:: -ff2c, -fno-f2c 3497 3498.. option:: -ffixed-form, -fno-fixed-form 3499 3500.. option:: -ffixed-line-length-<arg> 3501 3502.. option:: -ffpe-trap=<arg> 3503 3504.. option:: -ffree-form, -fno-free-form 3505 3506.. option:: -ffree-line-length-<arg> 3507 3508.. option:: -ffrontend-optimize, -fno-frontend-optimize 3509 3510.. option:: -fimplicit-none, -fno-implicit-none 3511 3512.. option:: -finit-character=<arg> 3513 3514.. option:: -finit-integer=<arg> 3515 3516.. option:: -finit-local-zero, -fno-init-local-zero 3517 3518.. option:: -finit-logical=<arg> 3519 3520.. option:: -finit-real=<arg> 3521 3522.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8 3523 3524.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path 3525 3526.. option:: -fmax-array-constructor=<arg> 3527 3528.. option:: -fmax-errors=<arg> 3529 3530.. option:: -fmax-identifier-length, -fno-max-identifier-length 3531 3532.. option:: -fmax-stack-var-size=<arg> 3533 3534.. option:: -fmax-subrecord-length=<arg> 3535 3536.. option:: -fmodule-private, -fno-module-private 3537 3538.. option:: -fpack-derived, -fno-pack-derived 3539 3540.. option:: -fprotect-parens, -fno-protect-parens 3541 3542.. option:: -frange-check, -fno-range-check 3543 3544.. option:: -freal-4-real-10, -fno-real-4-real-10 3545 3546.. option:: -freal-4-real-16, -fno-real-4-real-16 3547 3548.. option:: -freal-4-real-8, -fno-real-4-real-8 3549 3550.. option:: -freal-8-real-10, -fno-real-8-real-10 3551 3552.. option:: -freal-8-real-16, -fno-real-8-real-16 3553 3554.. option:: -freal-8-real-4, -fno-real-8-real-4 3555 3556.. option:: -frealloc-lhs, -fno-realloc-lhs 3557 3558.. option:: -frecord-marker=<arg> 3559 3560.. option:: -frecursive, -fno-recursive 3561 3562.. option:: -frepack-arrays, -fno-repack-arrays 3563 3564.. option:: -fsecond-underscore, -fno-second-underscore 3565 3566.. option:: -fsign-zero, -fno-sign-zero 3567 3568.. option:: -fstack-arrays, -fno-stack-arrays 3569 3570.. option:: -funderscoring, -fno-underscoring 3571 3572.. option:: -fwhole-file, -fno-whole-file 3573 3574.. option:: -imultilib <arg> 3575 3576.. option:: -nocpp 3577 3578.. option:: -static-libgfortran 3579 3580Linker flags 3581============ 3582Flags that are passed on to the linker 3583 3584.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg> 3585 3586Add directory to library search path 3587 3588.. option:: -Mach 3589 3590.. option:: -T<script> 3591 3592Specify <script> as linker script 3593 3594.. option:: -Tbss<addr> 3595 3596Set starting address of BSS to <addr> 3597 3598.. option:: -Tdata<addr> 3599 3600Set starting address of DATA to <addr> 3601 3602.. option:: -Ttext<addr> 3603 3604Set starting address of TEXT to <addr> 3605 3606.. option:: -Wl,<arg>,<arg2>... 3607 3608Pass the comma separated arguments in <arg> to the linker 3609 3610.. option:: -X 3611 3612.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg> 3613 3614Pass <arg> to the linker 3615 3616.. program:: clang1 3617.. option:: -Z 3618.. program:: clang 3619 3620.. option:: -e<arg>, --entry 3621 3622.. option:: -filelist <arg> 3623 3624.. option:: --hip-device-lib-path=<arg> 3625 3626HIP device library path. Alternative to rocm-path. 3627 3628.. option:: --hip-device-lib=<arg> 3629 3630HIP device library 3631 3632.. option:: -l<arg> 3633 3634.. option:: -r 3635 3636.. option:: -rpath <arg> 3637 3638.. option:: -s 3639 3640.. option:: -t 3641 3642.. option:: -u<arg>, --force-link <arg>, --force-link=<arg> 3643 3644.. option:: -undef 3645 3646undef all system defines 3647 3648.. option:: -undefined<arg>, --no-undefined 3649 3650.. option:: -z <arg> 3651 3652Pass -z <arg> to the linker 3653 3654