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