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