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