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 overridden 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 dictated 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:: -fnew-infallible 1945 1946Treats throwing global C++ operator new as always returning valid memory (annotates with \_\_attribute\_\_((returns\_nonnull)) and throw()). This is detectable in source. 1947 1948.. option:: -fnext-runtime 1949 1950.. option:: -fno-builtin-<arg> 1951 1952Disable implicit builtin knowledge of a specific function 1953 1954.. option:: -fno-elide-type 1955 1956Do not elide types when printing diagnostics 1957 1958.. option:: -fno-max-type-align 1959 1960.. option:: -fno-strict-modules-decluse 1961 1962.. option:: -fno-temp-file 1963 1964Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes 1965 1966.. option:: -fno-working-directory 1967 1968.. option:: -fno\_modules-validate-input-files-content 1969 1970.. program:: clang1 1971.. option:: -fno\_pch-validate-input-files-content 1972.. program:: clang 1973 1974.. option:: -fnoxray-link-deps 1975 1976.. option:: -fobjc-abi-version=<arg> 1977 1978.. option:: -fobjc-arc, -fno-objc-arc 1979 1980Synthesize retain and release calls for Objective-C pointers 1981 1982.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions 1983 1984Use EH-safe code when synthesizing retains and releases in -fobjc-arc 1985 1986.. option:: -fobjc-convert-messages-to-runtime-calls, -fno-objc-convert-messages-to-runtime-calls 1987 1988.. option:: -fobjc-disable-direct-methods-for-testing 1989 1990Ignore attribute objc\_direct so that direct methods can be tested 1991 1992.. option:: -fobjc-encode-cxx-class-template-spec, -fno-objc-encode-cxx-class-template-spec 1993 1994Fully encode c++ class template specialization 1995 1996.. option:: -fobjc-exceptions, -fno-objc-exceptions 1997 1998Enable Objective-C exceptions 1999 2000.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type 2001 2002.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch 2003 2004.. option:: -fobjc-link-runtime 2005 2006.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi 2007 2008.. option:: -fobjc-nonfragile-abi-version=<arg> 2009 2010.. option:: -fobjc-runtime=<arg> 2011 2012Specify the target Objective-C runtime kind and version 2013 2014.. option:: -fobjc-sender-dependent-dispatch 2015 2016.. option:: -fobjc-weak, -fno-objc-weak 2017 2018Enable ARC-style weak references in Objective-C 2019 2020.. option:: -foffload-lto, -fno-offload-lto 2021 2022Enable LTO in 'full' mode for offload compilation 2023 2024.. program:: clang1 2025.. option:: -foffload-lto=<arg> 2026.. program:: clang 2027 2028Set LTO mode to either 'full' or 'thin' for offload compilation 2029 2030.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer 2031 2032.. option:: -fopenmp, -fno-openmp 2033 2034Parse OpenMP pragmas and generate parallel code. 2035 2036.. option:: -fopenmp-simd, -fno-openmp-simd 2037 2038Emit OpenMP code only for SIMD-based constructs. 2039 2040.. option:: -fopenmp-version=<arg> 2041 2042.. program:: clang1 2043.. option:: -fopenmp=<arg> 2044.. program:: clang 2045 2046.. option:: -foperator-arrow-depth=<arg> 2047 2048.. option:: -foperator-names, -fno-operator-names 2049 2050.. option:: -foptimization-record-file=<file> 2051 2052Specify 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. 2053 2054.. option:: -foptimization-record-passes=<regex> 2055 2056Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes) 2057 2058.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls 2059 2060.. option:: -forder-file-instrumentation 2061 2062Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) 2063 2064.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg> 2065 2066.. option:: -fpack-struct, -fno-pack-struct 2067 2068.. program:: clang1 2069.. option:: -fpack-struct=<arg> 2070.. program:: clang 2071 2072Specify the default maximum struct packing alignment 2073 2074.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings 2075 2076Recognize and construct Pascal-style string literals 2077 2078.. option:: -fpass-plugin=<dsopath> 2079 2080Load pass plugin from a dynamic shared object file (only with new pass manager). 2081 2082.. option:: -fpatchable-function-entry=<N,M> 2083 2084Generate M NOPs before function entry and N-M NOPs after function entry 2085 2086.. option:: -fpcc-struct-return 2087 2088Override the default ABI to return all structs on the stack 2089 2090.. option:: -fpch-codegen, -fno-pch-codegen 2091 2092Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH 2093 2094.. option:: -fpch-debuginfo, -fno-pch-debuginfo 2095 2096Generate debug info for types in an object file built from this PCH and do not generate them elsewhere 2097 2098.. option:: -fpch-instantiate-templates, -fno-pch-instantiate-templates 2099 2100Instantiate templates already while building a PCH 2101 2102.. option:: -fpch-preprocess 2103 2104.. option:: -fpch-validate-input-files-content 2105 2106Validate PCH input files based on content if mtime differs 2107 2108.. option:: -fpic, -fno-pic 2109 2110.. option:: -fpie, -fno-pie 2111 2112.. option:: -fplt, -fno-plt 2113 2114.. option:: -fplugin=<dsopath> 2115 2116Load the named plugin (dynamic shared object) 2117 2118.. option:: -fprebuilt-implicit-modules, -fno-prebuilt-implicit-modules 2119 2120Look up implicit modules in the prebuilt module path 2121 2122.. option:: -fpreserve-as-comments, -fno-preserve-as-comments 2123 2124.. option:: -fproc-stat-report<arg> 2125 2126Print subprocess statistics 2127 2128.. program:: clang1 2129.. option:: -fproc-stat-report=<arg> 2130.. program:: clang 2131 2132Save subprocess statistics to the given file 2133 2134.. option:: -fprofile-arcs, -fno-profile-arcs 2135 2136.. option:: -fprofile-dir=<arg> 2137 2138.. option:: -fprofile-exclude-files=<arg> 2139 2140Instrument only functions from files where names don't match all the regexes separated by a semi-colon 2141 2142.. option:: -fprofile-filter-files=<arg> 2143 2144Instrument only functions from files where names match any regex separated by a semi-colon 2145 2146.. option:: -fprofile-generate, -fno-profile-generate 2147 2148Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 2149 2150.. program:: clang1 2151.. option:: -fprofile-generate=<directory> 2152.. program:: clang 2153 2154Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var) 2155 2156.. option:: -fprofile-instr-generate, -fno-profile-instr-generate 2157 2158Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var) 2159 2160.. program:: clang1 2161.. option:: -fprofile-instr-generate=<file> 2162.. program:: clang 2163 2164Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var) 2165 2166.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use 2167 2168.. program:: clang1 2169.. option:: -fprofile-instr-use=<arg> 2170.. program:: clang 2171 2172Use instrumentation data for profile-guided optimization 2173 2174.. option:: -fprofile-list=<arg> 2175 2176Filename defining the list of functions/files to instrument 2177 2178.. option:: -fprofile-remapping-file=<file> 2179 2180Use the remappings described in <file> to match the profile data against names in the program 2181 2182.. option:: -fprofile-sample-accurate, -fauto-profile-accurate, -fno-profile-sample-accurate 2183 2184Specifies that the sample profile is accurate. If the sample 2185 profile is accurate, callsites without profile samples are marked 2186 as cold. Otherwise, treat callsites without profile samples as if 2187 we have no profile 2188 2189.. option:: -fprofile-sample-use, -fauto-profile, -fno-profile-sample-use 2190 2191.. program:: clang1 2192.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg> 2193.. program:: clang 2194 2195Enable sample-based profile guided optimizations 2196 2197.. option:: -fprofile-update=<method> 2198 2199Set update method of profile counters (atomic,prefer-atomic,single) 2200 2201.. program:: clang1 2202.. option:: -fprofile-use=<pathname> 2203.. program:: clang 2204 2205Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>. 2206 2207.. option:: -fpseudo-probe-for-profiling, -fno-pseudo-probe-for-profiling 2208 2209Emit pseudo probes for sample profiling 2210 2211.. option:: -freciprocal-math, -fno-reciprocal-math 2212 2213Allow division operations to be reassociated 2214 2215.. option:: -freg-struct-return 2216 2217Override the default ABI to return small structs in registers 2218 2219.. option:: -fregister-global-dtors-with-atexit, -fno-register-global-dtors-with-atexit 2220 2221Use atexit or \_\_cxa\_atexit to register global destructors 2222 2223.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args 2224 2225Enable C++17 relaxed template template argument matching 2226 2227.. option:: -freroll-loops, -fno-reroll-loops 2228 2229Turn on loop reroller 2230 2231.. option:: -fretain-comments-from-system-headers 2232 2233.. option:: -frewrite-imports, -fno-rewrite-imports 2234 2235.. option:: -frewrite-includes, -fno-rewrite-includes 2236 2237.. option:: -frewrite-map-file=<arg> 2238 2239.. option:: -fropi, -fno-ropi 2240 2241Generate read-only position independent code (ARM only) 2242 2243.. option:: -frounding-math, -fno-rounding-math 2244 2245.. option:: -frtti, -fno-rtti 2246 2247.. option:: -frtti-data, -fno-rtti-data 2248 2249.. option:: -frwpi, -fno-rwpi 2250 2251Generate read-write position independent code (ARM only) 2252 2253.. option:: -fsave-optimization-record, -fno-save-optimization-record 2254 2255Generate a YAML optimization record file 2256 2257.. program:: clang1 2258.. option:: -fsave-optimization-record=<format> 2259.. program:: clang 2260 2261Generate an optimization record file in a specific format 2262 2263.. option:: -fseh-exceptions 2264 2265Use SEH style exceptions 2266 2267.. option:: -fsemantic-interposition, -fno-semantic-interposition 2268 2269.. option:: -fshort-enums, -fno-short-enums 2270 2271Allocate to an enum type only as many bytes as it needs for the declared range of possible values 2272 2273.. option:: -fshort-wchar, -fno-short-wchar 2274 2275Force wchar\_t to be a short unsigned int 2276 2277.. option:: -fshow-column, -fno-show-column 2278 2279.. option:: -fshow-overloads=<arg> 2280 2281Which overload candidates to show when overload resolution fails: best\|all; defaults to all 2282 2283.. option:: -fshow-source-location, -fno-show-source-location 2284 2285.. option:: -fsignaling-math, -fno-signaling-math 2286 2287.. option:: -fsigned-bitfields 2288 2289.. option:: -fsigned-char, -fno-signed-char, --signed-char 2290 2291char is signed 2292 2293.. option:: -fsigned-zeros, -fno-signed-zeros 2294 2295.. option:: -fsized-deallocation, -fno-sized-deallocation 2296 2297Enable C++14 sized global deallocation functions 2298 2299.. option:: -fsjlj-exceptions 2300 2301Use SjLj style exceptions 2302 2303.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize 2304 2305Enable the superword-level parallelism vectorization passes 2306 2307.. option:: -fspell-checking, -fno-spell-checking 2308 2309.. option:: -fspell-checking-limit=<arg> 2310 2311.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining 2312 2313Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF 2314 2315.. option:: -fsplit-lto-unit, -fno-split-lto-unit 2316 2317Enables splitting of the LTO unit 2318 2319.. option:: -fsplit-machine-functions, -fno-split-machine-functions 2320 2321Enable late function splitting using profile information (x86 ELF) 2322 2323.. option:: -fsplit-stack, -fno-split-stack 2324 2325Use segmented stack 2326 2327.. option:: -fstack-clash-protection, -fno-stack-clash-protection 2328 2329Enable stack clash protection 2330 2331.. option:: -fstack-protector, -fno-stack-protector 2332 2333Enable 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. 2334 2335.. option:: -fstack-protector-all 2336 2337Enable stack protectors for all functions 2338 2339.. option:: -fstack-protector-strong 2340 2341Enable 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 2342 2343.. option:: -fstack-size-section, -fno-stack-size-section 2344 2345Emit section containing metadata on function stack sizes 2346 2347.. option:: -fstack-usage 2348 2349Emit .su file containing information on function stack sizes 2350 2351.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug 2352 2353Emit full debug info for all types used by the program 2354 2355.. option:: -fstrict-aliasing, -fno-strict-aliasing 2356 2357.. option:: -fstrict-enums, -fno-strict-enums 2358 2359Enable optimizations based on the strict definition of an enum's value range 2360 2361.. option:: -fstrict-float-cast-overflow, -fno-strict-float-cast-overflow 2362 2363Assume that overflowing float-to-int casts are undefined (default) 2364 2365.. option:: -fstrict-overflow, -fno-strict-overflow 2366 2367.. option:: -fstrict-return, -fno-strict-return 2368 2369.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers 2370 2371Enable optimizations based on the strict rules for overwriting polymorphic C++ objects 2372 2373.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa 2374 2375.. option:: -fsymbol-partition=<arg> 2376 2377.. option:: -ftabstop=<arg> 2378 2379.. option:: -ftemplate-backtrace-limit=<arg> 2380 2381.. option:: -ftemplate-depth-<arg> 2382 2383.. option:: -ftemplate-depth=<arg> 2384 2385.. option:: -ftest-coverage, -fno-test-coverage 2386 2387.. option:: -fthin-link-bitcode=<arg> 2388 2389Write minimized bitcode to <file> for the ThinLTO thin link only 2390 2391.. option:: -fthinlto-index=<arg> 2392 2393Perform ThinLTO importing using provided function summary index 2394 2395.. option:: -fthreadsafe-statics, -fno-threadsafe-statics 2396 2397.. option:: -ftime-report 2398 2399.. program:: clang1 2400.. option:: -ftime-report=<arg> 2401.. program:: clang 2402 2403(For new pass manager) "per-pass": one report for each pass; "per-pass-run": one report for each pass invocation 2404 2405.. option:: -ftime-trace 2406 2407 2408Turn on time profiler. Generates JSON file based on output filename. Results 2409can be analyzed with chrome://tracing or `Speedscope App 2410<https://www.speedscope.app>`_ for flamegraph visualization. 2411 2412.. option:: -ftime-trace-granularity=<arg> 2413 2414Minimum time granularity (in microseconds) traced by time profiler 2415 2416.. option:: -ftls-model=<arg> 2417 2418.. option:: -ftrap-function=<arg> 2419 2420Issue call to specified function rather than a trap instruction 2421 2422.. option:: -ftrapping-math, -fno-trapping-math 2423 2424.. option:: -ftrapv 2425 2426Trap on integer overflow 2427 2428.. option:: -ftrapv-handler <arg> 2429 2430.. program:: clang1 2431.. option:: -ftrapv-handler=<function name> 2432.. program:: clang 2433 2434Specify the function to be called on overflow 2435 2436.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs 2437 2438Process trigraph sequences 2439 2440.. option:: -ftrivial-auto-var-init-stop-after=<arg> 2441 2442Stop initializing trivial automatic stack variables after the specified number of instances 2443 2444.. option:: -ftrivial-auto-var-init=<arg> 2445 2446Initialize trivial automatic stack variables: uninitialized (default) \| pattern 2447 2448.. option:: -funique-basic-block-section-names, -fno-unique-basic-block-section-names 2449 2450Use unique names for basic block sections (ELF Only) 2451 2452.. option:: -funique-internal-linkage-names, -fno-unique-internal-linkage-names 2453 2454Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path 2455 2456.. option:: -funique-section-names, -fno-unique-section-names 2457 2458.. option:: -funit-at-a-time, -fno-unit-at-a-time 2459 2460.. option:: -funroll-loops, -fno-unroll-loops 2461 2462Turn on loop unroller 2463 2464.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations 2465 2466.. option:: -funsigned-bitfields 2467 2468.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char 2469 2470.. option:: -funwind-tables, -fno-unwind-tables 2471 2472.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit 2473 2474.. option:: -fuse-init-array, -fno-use-init-array 2475 2476.. option:: -fuse-ld=<arg> 2477 2478.. option:: -fuse-line-directives, -fno-use-line-directives 2479 2480Use #line in preprocessed output 2481 2482.. option:: -fminimize-whitespace, -fno-minimize-whitespace 2483 2484Ignore the whitespace from the input file when emitting preprocessor 2485output. It will only contain whitespace when necessary, e.g. to keep two 2486minus signs from merging into to an increment operator. Useful with the 2487-P option to normalize whitespace such that two files with only formatting 2488changes are equal. 2489 2490Only valid with -E on C-like inputs and incompatible with -traditional-cpp. 2491 2492.. option:: -fvalidate-ast-input-files-content 2493 2494Compute 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 2495 2496.. option:: -fveclib=<arg> 2497 2498Use the given vector functions library 2499 2500.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize 2501 2502Enable the loop vectorization passes 2503 2504.. option:: -fverbose-asm, -dA, -fno-verbose-asm 2505 2506Generate verbose assembly output 2507 2508.. option:: -fvirtual-function-elimination, -fno-virtual-function-elimination 2509 2510Enables dead virtual function elimination optimization. Requires -flto=full 2511 2512.. option:: -fvisibility-dllexport=<arg> 2513 2514The visibility for dllexport definitions \[-fvisibility-from-dllstorageclass\] 2515 2516.. option:: -fvisibility-externs-dllimport=<arg> 2517 2518The visibility for dllimport external declarations \[-fvisibility-from-dllstorageclass\] 2519 2520.. option:: -fvisibility-externs-nodllstorageclass=<arg> 2521 2522The visibility for external declarations without an explicit DLL dllstorageclass \[-fvisibility-from-dllstorageclass\] 2523 2524.. option:: -fvisibility-from-dllstorageclass, -fno-visibility-from-dllstorageclass 2525 2526Set the visibility of symbols in the generated code from their DLL storage class 2527 2528.. option:: -fvisibility-global-new-delete-hidden 2529 2530Give global C++ operator new and delete declarations hidden visibility 2531 2532.. option:: -fvisibility-inlines-hidden, -fno-visibility-inlines-hidden 2533 2534Give inline C++ member functions hidden visibility by default 2535 2536.. option:: -fvisibility-inlines-hidden-static-local-var, -fno-visibility-inlines-hidden-static-local-var 2537 2538When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default 2539 2540.. option:: -fvisibility-ms-compat 2541 2542Give global types 'default' visibility and global functions and variables 'hidden' visibility by default 2543 2544.. option:: -fvisibility-nodllstorageclass=<arg> 2545 2546The visibility for definitions without an explicit DLL export class \[-fvisibility-from-dllstorageclass\] 2547 2548.. option:: -fvisibility=<arg> 2549 2550Set the default symbol visibility for all global declarations 2551 2552.. option:: -fwarn-stack-size=<arg> 2553 2554.. option:: -fwasm-exceptions 2555 2556Use WebAssembly style exceptions 2557 2558.. option:: -fwhole-program-vtables, -fno-whole-program-vtables 2559 2560Enables whole-program vtable optimization. Requires -flto 2561 2562.. option:: -fwrapv, -fno-wrapv 2563 2564Treat signed integer overflow as two's complement 2565 2566.. option:: -fwritable-strings 2567 2568Store string literals as writable data 2569 2570.. option:: -fxl-pragma-pack, -fno-xl-pragma-pack 2571 2572Enable IBM XL #pragma pack handling 2573 2574.. option:: -fxray-always-emit-customevents, -fno-xray-always-emit-customevents 2575 2576Always emit \_\_xray\_customevent(...) calls even if the containing function is not always instrumented 2577 2578.. option:: -fxray-always-emit-typedevents, -fno-xray-always-emit-typedevents 2579 2580Always emit \_\_xray\_typedevent(...) calls even if the containing function is not always instrumented 2581 2582.. option:: -fxray-always-instrument=<arg> 2583 2584DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute. 2585 2586.. option:: -fxray-attr-list=<arg> 2587 2588Filename defining the list of functions/types for imbuing XRay attributes. 2589 2590.. option:: -fxray-function-groups=<arg> 2591 2592Only instrument 1 of N groups 2593 2594.. option:: -fxray-function-index, -fno-xray-function-index 2595 2596.. option:: -fxray-ignore-loops, -fno-xray-ignore-loops 2597 2598Don't instrument functions with loops unless they also meet the minimum function size 2599 2600.. option:: -fxray-instruction-threshold<arg> 2601 2602.. program:: clang1 2603.. option:: -fxray-instruction-threshold=<arg> 2604.. program:: clang 2605 2606Sets the minimum function size to instrument with XRay 2607 2608.. option:: -fxray-instrument, -fno-xray-instrument 2609 2610Generate XRay instrumentation sleds on function entry and exit 2611 2612.. option:: -fxray-instrumentation-bundle=<arg> 2613 2614Select 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'. 2615 2616.. option:: -fxray-link-deps 2617 2618Tells clang to add the link dependencies for XRay. 2619 2620.. option:: -fxray-modes=<arg> 2621 2622List of modes to link in by default into XRay instrumented binaries. 2623 2624.. option:: -fxray-never-instrument=<arg> 2625 2626DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute. 2627 2628.. option:: -fxray-selected-function-group=<arg> 2629 2630When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1 2631 2632.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss 2633 2634.. option:: -fzvector, -fno-zvector, -mzvector 2635 2636Enable System z vector language extension 2637 2638.. option:: --gpu-bundle-output, --no-gpu-bundle-output 2639 2640Bundle output files of HIP device compilation 2641 2642.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic 2643 2644Warn on language extensions 2645 2646.. option:: -pedantic-errors, --pedantic-errors 2647 2648OpenCL flags 2649------------ 2650.. option:: -cl-denorms-are-zero 2651 2652OpenCL only. Allow denormals to be flushed to zero. 2653 2654.. option:: -cl-fast-relaxed-math 2655 2656OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_. 2657 2658.. option:: -cl-finite-math-only 2659 2660OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf. 2661 2662.. option:: -cl-fp32-correctly-rounded-divide-sqrt 2663 2664OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded. 2665 2666.. option:: -cl-kernel-arg-info 2667 2668OpenCL only. Generate kernel argument metadata. 2669 2670.. option:: -cl-mad-enable 2671 2672OpenCL only. Allow use of less precise MAD computations in the generated binary. 2673 2674.. option:: -cl-no-signed-zeros 2675 2676OpenCL only. Allow use of less precise no signed zeros computations in the generated binary. 2677 2678.. option:: -cl-no-stdinc 2679 2680OpenCL only. Disables all standard includes containing non-native compiler types and functions. 2681 2682.. option:: -cl-opt-disable 2683 2684OpenCL only. This option disables all optimizations. By default optimizations are enabled. 2685 2686.. option:: -cl-single-precision-constant 2687 2688OpenCL only. Treat double precision floating-point constant as single precision constant. 2689 2690.. option:: -cl-std=<arg> 2691 2692OpenCL language standard to compile for. 2693 2694.. option:: -cl-strict-aliasing 2695 2696OpenCL only. This option is added for compatibility with OpenCL 1.0. 2697 2698.. option:: -cl-uniform-work-group-size 2699 2700OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel 2701 2702.. option:: -cl-unsafe-math-optimizations 2703 2704OpenCL only. Allow unsafe floating-point optimizations. Also implies -cl-no-signed-zeros and -cl-mad-enable. 2705 2706SYCL flags 2707---------- 2708.. option:: -fsycl, -fno-sycl 2709 2710Enables SYCL kernels compilation for device 2711 2712.. option:: -sycl-std=<arg> 2713 2714SYCL language standard to compile for. 2715 2716Target-dependent compilation options 2717~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2718.. option:: -G<size>, -G=<arg>, -msmall-data-limit=<arg>, -msmall-data-threshold=<arg> 2719 2720Put objects of at most <size> bytes into small data section (MIPS / Hexagon) 2721 2722.. option:: -ffixed-x1 2723 2724Reserve the x1 register (AArch64/RISC-V only) 2725 2726.. option:: -ffixed-x10 2727 2728Reserve the x10 register (AArch64/RISC-V only) 2729 2730.. option:: -ffixed-x11 2731 2732Reserve the x11 register (AArch64/RISC-V only) 2733 2734.. option:: -ffixed-x12 2735 2736Reserve the x12 register (AArch64/RISC-V only) 2737 2738.. option:: -ffixed-x13 2739 2740Reserve the x13 register (AArch64/RISC-V only) 2741 2742.. option:: -ffixed-x14 2743 2744Reserve the x14 register (AArch64/RISC-V only) 2745 2746.. option:: -ffixed-x15 2747 2748Reserve the x15 register (AArch64/RISC-V only) 2749 2750.. option:: -ffixed-x16 2751 2752Reserve the x16 register (AArch64/RISC-V only) 2753 2754.. option:: -ffixed-x17 2755 2756Reserve the x17 register (AArch64/RISC-V only) 2757 2758.. option:: -ffixed-x18 2759 2760Reserve the x18 register (AArch64/RISC-V only) 2761 2762.. option:: -ffixed-x19 2763 2764Reserve the x19 register (AArch64/RISC-V only) 2765 2766.. option:: -ffixed-x2 2767 2768Reserve the x2 register (AArch64/RISC-V only) 2769 2770.. option:: -ffixed-x20 2771 2772Reserve the x20 register (AArch64/RISC-V only) 2773 2774.. option:: -ffixed-x21 2775 2776Reserve the x21 register (AArch64/RISC-V only) 2777 2778.. option:: -ffixed-x22 2779 2780Reserve the x22 register (AArch64/RISC-V only) 2781 2782.. option:: -ffixed-x23 2783 2784Reserve the x23 register (AArch64/RISC-V only) 2785 2786.. option:: -ffixed-x24 2787 2788Reserve the x24 register (AArch64/RISC-V only) 2789 2790.. option:: -ffixed-x25 2791 2792Reserve the x25 register (AArch64/RISC-V only) 2793 2794.. option:: -ffixed-x26 2795 2796Reserve the x26 register (AArch64/RISC-V only) 2797 2798.. option:: -ffixed-x27 2799 2800Reserve the x27 register (AArch64/RISC-V only) 2801 2802.. option:: -ffixed-x28 2803 2804Reserve the x28 register (AArch64/RISC-V only) 2805 2806.. option:: -ffixed-x29 2807 2808Reserve the x29 register (AArch64/RISC-V only) 2809 2810.. option:: -ffixed-x3 2811 2812Reserve the x3 register (AArch64/RISC-V only) 2813 2814.. option:: -ffixed-x30 2815 2816Reserve the x30 register (AArch64/RISC-V only) 2817 2818.. option:: -ffixed-x31 2819 2820Reserve the x31 register (AArch64/RISC-V only) 2821 2822.. option:: -ffixed-x4 2823 2824Reserve the x4 register (AArch64/RISC-V only) 2825 2826.. option:: -ffixed-x5 2827 2828Reserve the x5 register (AArch64/RISC-V only) 2829 2830.. option:: -ffixed-x6 2831 2832Reserve the x6 register (AArch64/RISC-V only) 2833 2834.. option:: -ffixed-x7 2835 2836Reserve the x7 register (AArch64/RISC-V only) 2837 2838.. option:: -ffixed-x8 2839 2840Reserve the x8 register (AArch64/RISC-V only) 2841 2842.. option:: -ffixed-x9 2843 2844Reserve the x9 register (AArch64/RISC-V only) 2845 2846.. option:: -m16 2847 2848.. option:: -m32 2849 2850.. option:: -m64 2851 2852.. option:: -mabi=<arg> 2853 2854.. program:: clang1 2855.. option:: -mabi=vec-default 2856.. program:: clang 2857 2858Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers. 2859 2860.. program:: clang2 2861.. option:: -mabi=vec-extabi 2862.. program:: clang 2863 2864Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers 2865 2866.. option:: -maix-struct-return 2867 2868Return all structs in memory (PPC32 only) 2869 2870.. option:: -malign-branch-boundary=<arg> 2871 2872Specify the boundary's size to align branches 2873 2874.. option:: -malign-branch=<arg1>,<arg2>... 2875 2876Specify types of branches to align 2877 2878.. option:: -malign-double 2879 2880Align doubles to two words in structs (x86 only) 2881 2882.. option:: -mamdgpu-ieee, -mno-amdgpu-ieee 2883 2884Sets 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) 2885 2886.. option:: -march=<arg> 2887 2888.. option:: -masm=<arg> 2889 2890.. option:: -mbackchain, -mno-backchain 2891 2892Link stack frames through backchain on System Z 2893 2894.. option:: -mbranches-within-32B-boundaries 2895 2896Align selected branches (fused, jcc, jmp) within 32-byte boundary 2897 2898.. option:: -mcmodel=<arg>, -mcmodel=medany (equivalent to -mcmodel=medium), -mcmodel=medlow (equivalent to -mcmodel=small) 2899 2900.. option:: -mcode-object-v3, -mno-code-object-v3 2901 2902Legacy option to specify code object ABI V3 (AMDGPU only) 2903 2904.. option:: -mcode-object-version=<version> 2905 2906Specify code object ABI version. Defaults to 3. (AMDGPU only) 2907 2908.. option:: -mconsole<arg> 2909 2910.. program:: clang1 2911.. 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) 2912.. program:: clang 2913 2914.. option:: -mcrc, -mno-crc 2915 2916Allow use of CRC instructions (ARM/Mips only) 2917 2918.. option:: -mdefault-build-attributes<arg>, -mno-default-build-attributes<arg> 2919 2920.. option:: -mdll<arg> 2921 2922.. option:: -mdouble=<arg> 2923 2924Force double to be 32 bits or 64 bits 2925 2926.. option:: -mdynamic-no-pic<arg> 2927 2928.. option:: -meabi <arg> 2929 2930Set EABI type, e.g. 4, 5 or gnu (default depends on triple) 2931 2932.. option:: -menable-experimental-extensions 2933 2934Enable use of experimental RISC-V extensions. 2935 2936.. option:: -mfentry 2937 2938Insert calls to fentry at function entry (x86/SystemZ only) 2939 2940.. option:: -mfloat-abi=<arg> 2941 2942.. option:: -mfpmath=<arg> 2943 2944.. option:: -mfpu=<arg> 2945 2946.. option:: -mglobal-merge, -mno-global-merge 2947 2948Enable merging of globals 2949 2950.. option:: -mhard-float 2951 2952.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg> 2953 2954.. option:: -mhwmult=<arg> 2955 2956.. option:: -miamcu, -mno-iamcu 2957 2958Use Intel MCU ABI 2959 2960.. option:: -mignore-xcoff-visibility 2961 2962Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file 2963 2964.. option:: -mimplicit-float, -mno-implicit-float 2965 2966.. option:: -mimplicit-it=<arg> 2967 2968.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible 2969 2970(integrated-as) Emit an object file which can be used with an incremental linker 2971 2972.. option:: -miphoneos-version-min=<arg>, -mios-version-min=<arg> 2973 2974.. option:: -mkernel 2975 2976.. option:: -mlong-calls, -mno-long-calls 2977 2978Generate branches with extended addressability, usually via indirect jumps. 2979 2980.. option:: -mlvi-cfi, -mno-lvi-cfi 2981 2982Enable only control-flow mitigations for Load Value Injection (LVI) 2983 2984.. option:: -mlvi-hardening, -mno-lvi-hardening 2985 2986Enable all mitigations for Load Value Injection (LVI) 2987 2988.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg> 2989 2990Set Mac OS X deployment target 2991 2992.. option:: -mmcu=<arg> 2993 2994.. option:: -mms-bitfields, -mno-ms-bitfields 2995 2996Set the default structure layout to be compatible with the Microsoft compiler standard 2997 2998.. option:: -mnop-mcount 2999 3000Generate mcount/\_\_fentry\_\_ calls as nops. To activate they need to be patched in. 3001 3002.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer 3003 3004Omit frame pointer setup for leaf functions 3005 3006.. option:: -moslib=<arg> 3007 3008.. option:: -mpacked-stack, -mno-packed-stack 3009 3010Use packed stack layout (SystemZ only). 3011 3012.. option:: -mpad-max-prefix-size=<arg> 3013 3014Specify maximum number of prefixes to use for padding 3015 3016.. option:: -mprefer-vector-width=<arg> 3017 3018Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions. 3019 3020.. option:: -mqdsp6-compat 3021 3022Enable hexagon-qdsp6 backward compatibility 3023 3024.. option:: -mrecip 3025 3026.. program:: clang1 3027.. option:: -mrecip=<arg1>,<arg2>... 3028.. program:: clang 3029 3030.. option:: -mrecord-mcount 3031 3032Generate a \_\_mcount\_loc section entry for each \_\_fentry\_\_ call. 3033 3034.. option:: -mred-zone, -mno-red-zone 3035 3036.. option:: -mregparm=<arg> 3037 3038.. option:: -mrelax, -mno-relax 3039 3040Enable linker relaxation 3041 3042.. option:: -mrelax-all, -mno-relax-all 3043 3044(integrated-as) Relax all machine instructions 3045 3046.. option:: -mretpoline, -mno-retpoline 3047 3048.. option:: -mrtd, -mno-rtd 3049 3050Make StdCall calling convention the default 3051 3052.. option:: -mseses, -mno-seses 3053 3054Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations 3055 3056.. option:: -msign-return-address=<arg> 3057 3058Select return address signing scope 3059 3060.. option:: -msim 3061 3062.. option:: -msoft-float, -mno-soft-float 3063 3064Use software floating point 3065 3066.. option:: -mspeculative-load-hardening, -mno-speculative-load-hardening 3067 3068.. option:: -mstack-alignment=<arg> 3069 3070Set the stack alignment 3071 3072.. option:: -mstack-arg-probe, -mno-stack-arg-probe 3073 3074Enable stack probes 3075 3076.. option:: -mstack-probe-size=<arg> 3077 3078Set the stack probe size 3079 3080.. option:: -mstack-protector-guard-offset=<arg> 3081 3082Use the given offset for addressing the stack-protector guard 3083 3084.. option:: -mstack-protector-guard-reg=<arg> 3085 3086Use the given reg for addressing the stack-protector guard 3087 3088.. option:: -mstack-protector-guard=<arg> 3089 3090Use the given guard (global, tls) for addressing the stack-protector guard 3091 3092.. option:: -mstackrealign, -mno-stackrealign 3093 3094Force realign the stack at entry to every function 3095 3096.. option:: -msvr4-struct-return 3097 3098Return small structs in registers (PPC32 only) 3099 3100.. option:: -mthread-model <arg> 3101 3102The thread model to use, e.g. posix, single (posix by default) 3103 3104.. option:: -mthreads<arg> 3105 3106.. option:: -mthumb, -mno-thumb 3107 3108.. option:: -mtls-direct-seg-refs, -mno-tls-direct-seg-refs 3109 3110Enable direct TLS access through segment registers (default) 3111 3112.. option:: -mtls-size=<arg> 3113 3114Specify 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) 3115 3116.. program:: clang1 3117.. option:: -mtune=<arg> 3118.. program:: clang 3119 3120Only supported on X86 and RISC-V. Otherwise accepted for compatibility with GCC. 3121 3122.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg> 3123 3124.. option:: -municode<arg> 3125 3126.. option:: -munsafe-fp-atomics, -mno-unsafe-fp-atomics 3127 3128Enable unsafe floating point atomic instructions (AMDGPU only) 3129 3130.. option:: -mvx, -mno-vx 3131 3132.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings 3133 3134.. option:: -mwatchos-version-min=<arg> 3135 3136.. option:: -mwavefrontsize64, -mno-wavefrontsize64 3137 3138Specify wavefront size 64 mode (AMDGPU only) 3139 3140.. option:: -mwindows<arg> 3141 3142.. option:: -mx32 3143 3144AARCH64 3145------- 3146.. option:: -fcall-saved-x10 3147 3148Make the x10 register call-saved (AArch64 only) 3149 3150.. option:: -fcall-saved-x11 3151 3152Make the x11 register call-saved (AArch64 only) 3153 3154.. option:: -fcall-saved-x12 3155 3156Make the x12 register call-saved (AArch64 only) 3157 3158.. option:: -fcall-saved-x13 3159 3160Make the x13 register call-saved (AArch64 only) 3161 3162.. option:: -fcall-saved-x14 3163 3164Make the x14 register call-saved (AArch64 only) 3165 3166.. option:: -fcall-saved-x15 3167 3168Make the x15 register call-saved (AArch64 only) 3169 3170.. option:: -fcall-saved-x18 3171 3172Make the x18 register call-saved (AArch64 only) 3173 3174.. option:: -fcall-saved-x8 3175 3176Make the x8 register call-saved (AArch64 only) 3177 3178.. option:: -fcall-saved-x9 3179 3180Make the x9 register call-saved (AArch64 only) 3181 3182.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769 3183 3184Workaround Cortex-A53 erratum 835769 (AArch64 only) 3185 3186.. option:: -mgeneral-regs-only 3187 3188Generate code which only uses the general purpose registers (AArch64 only) 3189 3190.. option:: -mmark-bti-property 3191 3192Add .note.gnu.property with BTI to assembly files (AArch64 only) 3193 3194.. option:: -msve-vector-bits=<arg> 3195 3196Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only) 3197 3198AMDGPU 3199------ 3200.. option:: -mcumode, -mno-cumode 3201 3202Specify CU wavefront execution mode (AMDGPU only) 3203 3204.. option:: -mtgsplit, -mno-tgsplit 3205 3206Enable threadgroup split execution mode (AMDGPU only) 3207 3208ARM 3209--- 3210.. option:: -faapcs-bitfield-load 3211 3212Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only). 3213 3214.. option:: -faapcs-bitfield-width, -fno-aapcs-bitfield-width 3215 3216Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only). 3217 3218.. option:: -ffixed-r9 3219 3220Reserve the r9 register (ARM only) 3221 3222.. option:: -mcmse 3223 3224Allow use of CMSE (Armv8-M Security Extensions) 3225 3226.. option:: -mexecute-only, -mno-execute-only, -mpure-code 3227 3228Disallow generation of data access to code sections (ARM only) 3229 3230.. option:: -mno-movt 3231 3232Disallow use of movt/movw pairs (ARM only) 3233 3234.. option:: -mno-neg-immediates 3235 3236Disallow converting instructions with negative immediates to their negation or inversion. 3237 3238.. option:: -mnocrc 3239 3240Disallow use of CRC instructions (ARM only) 3241 3242.. option:: -mrestrict-it, -mno-restrict-it 3243 3244Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode. 3245 3246.. option:: -mtp=<arg> 3247 3248Thread pointer access method (AArch32/AArch64 only) 3249 3250.. option:: -munaligned-access, -mno-unaligned-access 3251 3252Allow memory accesses to be unaligned (AArch32/AArch64 only) 3253 3254Hexagon 3255------- 3256.. option:: -mieee-rnd-near 3257 3258.. option:: -mmemops, -mno-memops 3259 3260Enable generation of memop instructions 3261 3262.. option:: -mnvj, -mno-nvj 3263 3264Enable generation of new-value jumps 3265 3266.. option:: -mnvs, -mno-nvs 3267 3268Enable generation of new-value stores 3269 3270.. option:: -mpackets, -mno-packets 3271 3272Enable generation of instruction packets 3273 3274Hexagon 3275------- 3276.. option:: -mhvx, -mno-hvx 3277 3278Enable Hexagon Vector eXtensions 3279 3280.. option:: -mhvx-length=<arg> 3281 3282Set Hexagon Vector Length 3283 3284.. program:: clang1 3285.. option:: -mhvx=<arg> 3286.. program:: clang 3287 3288Enable Hexagon Vector eXtensions 3289 3290M68k 3291---- 3292.. option:: -ffixed-a0 3293 3294Reserve the a0 register (M68k only) 3295 3296.. option:: -ffixed-a1 3297 3298Reserve the a1 register (M68k only) 3299 3300.. option:: -ffixed-a2 3301 3302Reserve the a2 register (M68k only) 3303 3304.. option:: -ffixed-a3 3305 3306Reserve the a3 register (M68k only) 3307 3308.. option:: -ffixed-a4 3309 3310Reserve the a4 register (M68k only) 3311 3312.. option:: -ffixed-a5 3313 3314Reserve the a5 register (M68k only) 3315 3316.. option:: -ffixed-a6 3317 3318Reserve the a6 register (M68k only) 3319 3320.. option:: -ffixed-d0 3321 3322Reserve the d0 register (M68k only) 3323 3324.. option:: -ffixed-d1 3325 3326Reserve the d1 register (M68k only) 3327 3328.. option:: -ffixed-d2 3329 3330Reserve the d2 register (M68k only) 3331 3332.. option:: -ffixed-d3 3333 3334Reserve the d3 register (M68k only) 3335 3336.. option:: -ffixed-d4 3337 3338Reserve the d4 register (M68k only) 3339 3340.. option:: -ffixed-d5 3341 3342Reserve the d5 register (M68k only) 3343 3344.. option:: -ffixed-d6 3345 3346Reserve the d6 register (M68k only) 3347 3348.. option:: -ffixed-d7 3349 3350Reserve the d7 register (M68k only) 3351 3352.. option:: -m68000 3353 3354.. option:: -m68010 3355 3356.. option:: -m68020 3357 3358.. option:: -m68030 3359 3360.. option:: -m68040 3361 3362.. option:: -m68060 3363 3364MIPS 3365---- 3366.. option:: -mabicalls, -mno-abicalls 3367 3368Enable SVR4-style position-independent code (Mips only) 3369 3370.. option:: -mabs=<arg> 3371 3372.. option:: -mcheck-zero-division, -mno-check-zero-division 3373 3374.. option:: -mcompact-branches=<arg> 3375 3376.. option:: -mdouble-float 3377 3378.. option:: -mdsp, -mno-dsp 3379 3380.. option:: -mdspr2, -mno-dspr2 3381 3382.. option:: -membedded-data, -mno-embedded-data 3383 3384Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS) 3385 3386.. option:: -mextern-sdata, -mno-extern-sdata 3387 3388Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS) 3389 3390.. option:: -mfp32 3391 3392Use 32-bit floating point registers (MIPS only) 3393 3394.. option:: -mfp64 3395 3396Use 64-bit floating point registers (MIPS only) 3397 3398.. option:: -mginv, -mno-ginv 3399 3400.. option:: -mgpopt, -mno-gpopt 3401 3402Use GP relative accesses for symbols known to be in a small data section (MIPS) 3403 3404.. option:: -mindirect-jump=<arg> 3405 3406Change indirect jump instructions to inhibit speculation 3407 3408.. option:: -mips16 3409 3410.. option:: -mldc1-sdc1, -mno-ldc1-sdc1 3411 3412.. option:: -mlocal-sdata, -mno-local-sdata 3413 3414Extend the -G behaviour to object local data (MIPS) 3415 3416.. option:: -mmadd4, -mno-madd4 3417 3418Enable the generation of 4-operand madd.s, madd.d and related instructions. 3419 3420.. option:: -mmicromips, -mno-micromips 3421 3422.. option:: -mmsa, -mno-msa 3423 3424Enable MSA ASE (MIPS only) 3425 3426.. option:: -mmt, -mno-mt 3427 3428Enable MT ASE (MIPS only) 3429 3430.. option:: -mnan=<arg> 3431 3432.. option:: -mno-mips16 3433 3434.. option:: -msingle-float 3435 3436.. option:: -mvirt, -mno-virt 3437 3438.. option:: -mxgot, -mno-xgot 3439 3440PowerPC 3441------- 3442.. option:: -maltivec, -mno-altivec 3443 3444.. option:: -mcmpb, -mno-cmpb 3445 3446.. option:: -mcrbits, -mno-crbits 3447 3448.. option:: -mcrypto, -mno-crypto 3449 3450.. option:: -mdirect-move, -mno-direct-move 3451 3452.. option:: -mefpu2 3453 3454.. option:: -mfloat128, -mno-float128 3455 3456.. option:: -mfprnd, -mno-fprnd 3457 3458.. option:: -mhtm, -mno-htm 3459 3460.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors 3461 3462.. option:: -misel, -mno-isel 3463 3464.. option:: -mlongcall, -mno-longcall 3465 3466.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf 3467 3468.. option:: -mmma, -mno-mma 3469 3470.. option:: -mpaired-vector-memops, -mno-paired-vector-memops 3471 3472.. option:: -mpcrel, -mno-pcrel 3473 3474.. option:: -mpopcntd, -mno-popcntd 3475 3476.. option:: -mpower10-vector, -mno-power10-vector 3477 3478.. option:: -mpower8-vector, -mno-power8-vector 3479 3480.. option:: -mpower9-vector, -mno-power9-vector 3481 3482.. option:: -mprefixed, -mno-prefixed 3483 3484.. option:: -mprivileged 3485 3486.. option:: -mrop-protect 3487 3488.. option:: -msecure-plt 3489 3490.. option:: -mspe, -mno-spe 3491 3492.. option:: -mvsx, -mno-vsx 3493 3494WebAssembly 3495----------- 3496.. option:: -matomics, -mno-atomics 3497 3498.. option:: -mbulk-memory, -mno-bulk-memory 3499 3500.. option:: -mexception-handling, -mno-exception-handling 3501 3502.. option:: -mmultivalue, -mno-multivalue 3503 3504.. option:: -mmutable-globals, -mno-mutable-globals 3505 3506.. option:: -mnontrapping-fptoint, -mno-nontrapping-fptoint 3507 3508.. option:: -mreference-types, -mno-reference-types 3509 3510.. option:: -msign-ext, -mno-sign-ext 3511 3512.. option:: -msimd128, -mno-simd128 3513 3514.. option:: -mtail-call, -mno-tail-call 3515 3516WebAssembly Driver 3517------------------ 3518.. option:: -mexec-model=<arg> 3519 3520Execution model (WebAssembly only) 3521 3522X86 3523--- 3524.. option:: -m3dnow, -mno-3dnow 3525 3526.. option:: -m3dnowa, -mno-3dnowa 3527 3528.. option:: -madx, -mno-adx 3529 3530.. option:: -maes, -mno-aes 3531 3532.. option:: -mamx-bf16, -mno-amx-bf16 3533 3534.. option:: -mamx-int8, -mno-amx-int8 3535 3536.. option:: -mamx-tile, -mno-amx-tile 3537 3538.. option:: -mavx, -mno-avx 3539 3540.. option:: -mavx2, -mno-avx2 3541 3542.. option:: -mavx512bf16, -mno-avx512bf16 3543 3544.. option:: -mavx512bitalg, -mno-avx512bitalg 3545 3546.. option:: -mavx512bw, -mno-avx512bw 3547 3548.. option:: -mavx512cd, -mno-avx512cd 3549 3550.. option:: -mavx512dq, -mno-avx512dq 3551 3552.. option:: -mavx512er, -mno-avx512er 3553 3554.. option:: -mavx512f, -mno-avx512f 3555 3556.. option:: -mavx512fp16, -mno-avx512fp16 3557 3558.. option:: -mavx512ifma, -mno-avx512ifma 3559 3560.. option:: -mavx512pf, -mno-avx512pf 3561 3562.. option:: -mavx512vbmi, -mno-avx512vbmi 3563 3564.. option:: -mavx512vbmi2, -mno-avx512vbmi2 3565 3566.. option:: -mavx512vl, -mno-avx512vl 3567 3568.. option:: -mavx512vnni, -mno-avx512vnni 3569 3570.. option:: -mavx512vp2intersect, -mno-avx512vp2intersect 3571 3572.. option:: -mavx512vpopcntdq, -mno-avx512vpopcntdq 3573 3574.. option:: -mavxvnni, -mno-avxvnni 3575 3576.. option:: -mbmi, -mno-bmi 3577 3578.. option:: -mbmi2, -mno-bmi2 3579 3580.. option:: -mcldemote, -mno-cldemote 3581 3582.. option:: -mclflushopt, -mno-clflushopt 3583 3584.. option:: -mclwb, -mno-clwb 3585 3586.. option:: -mclzero, -mno-clzero 3587 3588.. option:: -mcx16, -mno-cx16 3589 3590.. option:: -menqcmd, -mno-enqcmd 3591 3592.. option:: -mf16c, -mno-f16c 3593 3594.. option:: -mfma, -mno-fma 3595 3596.. option:: -mfma4, -mno-fma4 3597 3598.. option:: -mfsgsbase, -mno-fsgsbase 3599 3600.. option:: -mfxsr, -mno-fxsr 3601 3602.. option:: -mgfni, -mno-gfni 3603 3604.. option:: -mhreset, -mno-hreset 3605 3606.. option:: -minvpcid, -mno-invpcid 3607 3608.. option:: -mkl, -mno-kl 3609 3610.. option:: -mlwp, -mno-lwp 3611 3612.. option:: -mlzcnt, -mno-lzcnt 3613 3614.. option:: -mmmx, -mno-mmx 3615 3616.. option:: -mmovbe, -mno-movbe 3617 3618.. option:: -mmovdir64b, -mno-movdir64b 3619 3620.. option:: -mmovdiri, -mno-movdiri 3621 3622.. option:: -mmwaitx, -mno-mwaitx 3623 3624.. option:: -mpclmul, -mno-pclmul 3625 3626.. option:: -mpconfig, -mno-pconfig 3627 3628.. option:: -mpku, -mno-pku 3629 3630.. option:: -mpopcnt, -mno-popcnt 3631 3632.. option:: -mprefetchwt1, -mno-prefetchwt1 3633 3634.. option:: -mprfchw, -mno-prfchw 3635 3636.. option:: -mptwrite, -mno-ptwrite 3637 3638.. option:: -mrdpid, -mno-rdpid 3639 3640.. option:: -mrdrnd, -mno-rdrnd 3641 3642.. option:: -mrdseed, -mno-rdseed 3643 3644.. option:: -mretpoline-external-thunk, -mno-retpoline-external-thunk 3645 3646.. option:: -mrtm, -mno-rtm 3647 3648.. option:: -msahf, -mno-sahf 3649 3650.. option:: -mserialize, -mno-serialize 3651 3652.. option:: -msgx, -mno-sgx 3653 3654.. option:: -msha, -mno-sha 3655 3656.. option:: -mshstk, -mno-shstk 3657 3658.. option:: -msse, -mno-sse 3659 3660.. option:: -msse2, -mno-sse2 3661 3662.. option:: -msse3, -mno-sse3 3663 3664.. option:: -msse4.1, -mno-sse4.1 3665 3666.. program:: clang1 3667.. option:: -msse4.2, -mno-sse4.2, -msse4 3668.. program:: clang 3669 3670.. option:: -msse4a, -mno-sse4a 3671 3672.. option:: -mssse3, -mno-ssse3 3673 3674.. option:: -mtbm, -mno-tbm 3675 3676.. option:: -mtsxldtrk, -mno-tsxldtrk 3677 3678.. option:: -muintr, -mno-uintr 3679 3680.. option:: -mvaes, -mno-vaes 3681 3682.. option:: -mvpclmulqdq, -mno-vpclmulqdq 3683 3684.. option:: -mvzeroupper, -mno-vzeroupper 3685 3686.. option:: -mwaitpkg, -mno-waitpkg 3687 3688.. option:: -mwbnoinvd, -mno-wbnoinvd 3689 3690.. option:: -mwidekl, -mno-widekl 3691 3692.. option:: -mx87, -m80387, -mno-x87 3693 3694.. option:: -mxop, -mno-xop 3695 3696.. option:: -mxsave, -mno-xsave 3697 3698.. option:: -mxsavec, -mno-xsavec 3699 3700.. option:: -mxsaveopt, -mno-xsaveopt 3701 3702.. option:: -mxsaves, -mno-xsaves 3703 3704RISCV 3705----- 3706.. option:: -msave-restore, -mno-save-restore 3707 3708Enable using library calls for save and restore 3709 3710Long double flags 3711----------------- 3712Selects the long double implementation 3713 3714.. option:: -mlong-double-128 3715 3716Force long double to be 128 bits 3717 3718.. option:: -mlong-double-64 3719 3720Force long double to be 64 bits 3721 3722.. option:: -mlong-double-80 3723 3724Force long double to be 80 bits, padded to 128 bits for storage 3725 3726Optimization level 3727~~~~~~~~~~~~~~~~~~ 3728 3729Flags controlling how much optimization should be performed. 3730 3731.. option:: -O<arg>, -O (equivalent to -O1), --optimize, --optimize=<arg> 3732 3733.. option:: -Ofast<arg> 3734 3735Debug information generation 3736~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3737 3738Flags controlling how much and what kind of debug information should be 3739generated. 3740 3741Kind and level of debug information 3742----------------------------------- 3743.. option:: -g, --debug, --debug=<arg> 3744 3745Generate source-level debug information 3746 3747.. option:: -gdwarf 3748 3749Generate source-level debug information with the default dwarf version 3750 3751.. option:: -gdwarf-2 3752 3753Generate source-level debug information with dwarf version 2 3754 3755.. option:: -gdwarf-3 3756 3757Generate source-level debug information with dwarf version 3 3758 3759.. option:: -gdwarf-4 3760 3761Generate source-level debug information with dwarf version 4 3762 3763.. option:: -gdwarf-5 3764 3765Generate source-level debug information with dwarf version 5 3766 3767.. option:: -gdwarf32 3768 3769Enables DWARF32 format for ELF binaries, if debug information emission is enabled. 3770 3771.. option:: -gdwarf64 3772 3773Enables DWARF64 format for ELF binaries, if debug information emission is enabled. 3774 3775.. option:: -gfull 3776 3777.. option:: -ginline-line-tables, -gno-inline-line-tables 3778 3779.. option:: -gused 3780 3781Debug level 3782___________ 3783.. option:: -g0 3784 3785.. option:: -g2 3786 3787.. option:: -g3 3788 3789.. option:: -ggdb0 3790 3791.. option:: -ggdb1 3792 3793.. option:: -ggdb2 3794 3795.. option:: -ggdb3 3796 3797.. option:: -gline-directives-only 3798 3799Emit debug line info directives only 3800 3801.. option:: -gline-tables-only, -g1, -gmlt 3802 3803Emit debug line number tables only 3804 3805.. option:: -gmodules 3806 3807Generate debug info with external references to clang modules or precompiled headers 3808 3809Debugger to tune debug information for 3810______________________________________ 3811.. option:: -gdbx 3812 3813.. option:: -ggdb 3814 3815.. option:: -glldb 3816 3817.. option:: -gsce 3818 3819Debug information flags 3820----------------------- 3821.. option:: -gcolumn-info, -gno-column-info 3822 3823.. option:: -gdwarf-aranges 3824 3825.. option:: -gembed-source, -gno-embed-source 3826 3827Embed source text in DWARF debug sections 3828 3829.. option:: -ggnu-pubnames, -gno-gnu-pubnames 3830 3831.. option:: -gpubnames, -gno-pubnames 3832 3833.. option:: -grecord-command-line, -gno-record-command-line, -grecord-gcc-switches 3834 3835.. option:: -gsplit-dwarf, -gno-split-dwarf 3836 3837.. program:: clang1 3838.. option:: -gsplit-dwarf=<arg> 3839.. program:: clang 3840 3841Set DWARF fission mode to either 'split' or 'single' 3842 3843.. option:: -gstrict-dwarf, -gno-strict-dwarf 3844 3845.. option:: -gz=<arg>, -gz (equivalent to -gz=zlib) 3846 3847DWARF debug sections compression type 3848 3849Static analyzer flags 3850===================== 3851 3852Flags controlling the behavior of the Clang Static Analyzer. 3853 3854.. option:: -Xanalyzer <arg> 3855 3856Pass <arg> to the static analyzer 3857 3858Fortran compilation flags 3859========================= 3860 3861Flags that will be passed onto the ``gfortran`` compiler when Clang is given 3862a Fortran input. 3863 3864.. option:: -A<arg>, --assert <arg>, --assert=<arg> 3865 3866.. option:: -A-<arg> 3867 3868.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination 3869 3870.. option:: -falign-commons, -fno-align-commons 3871 3872.. option:: -fall-intrinsics, -fno-all-intrinsics 3873 3874.. option:: -fautomatic, -fno-automatic 3875 3876.. option:: -fbacktrace, -fno-backtrace 3877 3878.. option:: -fblas-matmul-limit=<arg> 3879 3880.. option:: -fbounds-check, -fno-bounds-check 3881 3882.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries 3883 3884.. option:: -fcheck=<arg> 3885 3886.. option:: -fcoarray=<arg> 3887 3888.. option:: -fconvert=<arg> 3889 3890.. option:: -fcray-pointer, -fno-cray-pointer 3891 3892.. option:: -fd-lines-as-code, -fno-d-lines-as-code 3893 3894.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments 3895 3896.. option:: -fdollar-ok, -fno-dollar-ok 3897 3898.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized 3899 3900.. option:: -fdump-fortran-original, -fno-dump-fortran-original 3901 3902.. option:: -fdump-parse-tree, -fno-dump-parse-tree 3903 3904.. option:: -fexternal-blas, -fno-external-blas 3905 3906.. option:: -ff2c, -fno-f2c 3907 3908.. option:: -ffpe-trap=<arg> 3909 3910.. option:: -ffree-line-length-<arg> 3911 3912.. option:: -ffrontend-optimize, -fno-frontend-optimize 3913 3914.. option:: -finit-character=<arg> 3915 3916.. option:: -finit-integer=<arg> 3917 3918.. option:: -finit-local-zero, -fno-init-local-zero 3919 3920.. option:: -finit-logical=<arg> 3921 3922.. option:: -finit-real=<arg> 3923 3924.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8 3925 3926.. option:: -fmax-array-constructor=<arg> 3927 3928.. option:: -fmax-errors=<arg> 3929 3930.. option:: -fmax-identifier-length, -fno-max-identifier-length 3931 3932.. option:: -fmax-stack-var-size=<arg> 3933 3934.. option:: -fmax-subrecord-length=<arg> 3935 3936.. option:: -fmodule-private, -fno-module-private 3937 3938.. option:: -fpack-derived, -fno-pack-derived 3939 3940.. option:: -fprotect-parens, -fno-protect-parens 3941 3942.. option:: -frange-check, -fno-range-check 3943 3944.. option:: -freal-4-real-10, -fno-real-4-real-10 3945 3946.. option:: -freal-4-real-16, -fno-real-4-real-16 3947 3948.. option:: -freal-4-real-8, -fno-real-4-real-8 3949 3950.. option:: -freal-8-real-10, -fno-real-8-real-10 3951 3952.. option:: -freal-8-real-16, -fno-real-8-real-16 3953 3954.. option:: -freal-8-real-4, -fno-real-8-real-4 3955 3956.. option:: -frealloc-lhs, -fno-realloc-lhs 3957 3958.. option:: -frecord-marker=<arg> 3959 3960.. option:: -frecursive, -fno-recursive 3961 3962.. option:: -frepack-arrays, -fno-repack-arrays 3963 3964.. option:: -fsecond-underscore, -fno-second-underscore 3965 3966.. option:: -fsign-zero, -fno-sign-zero 3967 3968.. option:: -fstack-arrays, -fno-stack-arrays 3969 3970.. option:: -funderscoring, -fno-underscoring 3971 3972.. option:: -fwhole-file, -fno-whole-file 3973 3974.. option:: -imultilib <arg> 3975 3976.. option:: -static-libgfortran 3977 3978Linker flags 3979============ 3980Flags that are passed on to the linker 3981 3982.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg> 3983 3984Add directory to library search path 3985 3986.. option:: -Mach 3987 3988.. option:: -T<script> 3989 3990Specify <script> as linker script 3991 3992.. option:: -Tbss<addr> 3993 3994Set starting address of BSS to <addr> 3995 3996.. option:: -Tdata<addr> 3997 3998Set starting address of DATA to <addr> 3999 4000.. option:: -Ttext<addr> 4001 4002Set starting address of TEXT to <addr> 4003 4004.. option:: -Wl,<arg>,<arg2>... 4005 4006Pass the comma separated arguments in <arg> to the linker 4007 4008.. option:: -X 4009 4010.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg> 4011 4012Pass <arg> to the linker 4013 4014.. program:: clang1 4015.. option:: -Z 4016.. program:: clang 4017 4018.. option:: -coverage, --coverage 4019 4020.. option:: -e<arg>, --entry 4021 4022.. option:: -filelist <arg> 4023 4024.. option:: --hip-device-lib=<arg> 4025 4026HIP device library 4027 4028.. option:: -l<arg> 4029 4030.. option:: --ld-path=<arg> 4031 4032.. option:: -nostartfiles 4033 4034.. program:: clang1 4035.. option:: -nostdlib, --no-standard-libraries 4036.. program:: clang 4037 4038.. option:: -pie 4039 4040.. option:: -r 4041 4042.. option:: -rdynamic 4043 4044.. option:: --rocm-device-lib-path=<arg>, --hip-device-lib-path=<arg> 4045 4046ROCm device library path. Alternative to rocm-path. 4047 4048.. option:: -rpath <arg> 4049 4050.. option:: -s 4051 4052.. option:: -shared, --shared 4053 4054.. option:: -specs=<arg>, --specs=<arg> 4055 4056.. option:: -static, --static 4057 4058.. option:: -static-pie 4059 4060.. option:: -t 4061 4062.. option:: -u<arg>, --force-link <arg>, --force-link=<arg> 4063 4064.. option:: -undef 4065 4066undef all system defines 4067 4068.. option:: -undefined<arg>, --no-undefined 4069 4070.. option:: -z <arg> 4071 4072Pass -z <arg> to the linker 4073 4074