1..
2  -------------------------------------------------------------------
3  NOTE: This file is automatically generated by running clang-tblgen
4  -gen-opt-docs. Do not edit this file by hand!!
5  -------------------------------------------------------------------
6
7=====================================
8Clang command line argument reference
9=====================================
10.. contents::
11   :local:
12
13Introduction
14============
15
16This page lists the command line arguments currently supported by the
17GCC-compatible ``clang`` and ``clang++`` drivers.
18
19
20.. program:: clang
21.. option:: -B<dir>, --prefix <arg>, --prefix=<arg>
22
23Add <dir> to search path for binaries and object files used implicitly
24
25.. option:: -F<arg>
26
27Add directory to framework include search path
28
29.. option:: -ObjC
30
31Treat source input files as Objective-C inputs
32
33.. program:: clang1
34.. option:: -ObjC++
35.. program:: clang
36
37Treat source input files as Objective-C++ inputs
38
39.. option:: -Qunused-arguments
40
41Don't emit warning for unused driver arguments
42
43.. option:: -Wa,<arg>,<arg2>...
44
45Pass the comma separated arguments in <arg> to the assembler
46
47.. option:: -Wlarge-by-value-copy=<arg>
48
49.. option:: -Xarch\_<arg1> <arg2>
50
51.. option:: -Xcuda-fatbinary <arg>
52
53Pass <arg> to fatbinary invocation
54
55.. option:: -Xcuda-ptxas <arg>
56
57Pass <arg> to the ptxas assembler
58
59.. option:: -Z<arg>
60
61.. option:: -a<arg>, --profile-blocks
62
63.. option:: -all\_load
64
65.. option:: -allowable\_client <arg>
66
67.. option:: --analyze
68
69Run the static analyzer
70
71.. option:: --analyze-auto
72
73.. option:: --analyzer-no-default-checks
74
75.. option:: --analyzer-output<arg>
76
77Static analyzer report output format (html\|plist\|plist-multi-file\|plist-html\|text).
78
79.. option:: -ansi, --ansi
80
81.. option:: -arch <arg>
82
83.. program:: clang1
84.. option:: -arch\_errors\_fatal
85.. program:: clang
86
87.. program:: clang2
88.. option:: -arch\_only <arg>
89.. program:: clang
90
91.. option:: -arcmt-migrate-emit-errors
92
93Emit ARC errors even if the migrator can fix them
94
95.. option:: -arcmt-migrate-report-output <arg>
96
97Output path for the plist report
98
99.. option:: -bind\_at\_load
100
101.. option:: -bundle
102
103.. program:: clang1
104.. option:: -bundle\_loader <arg>
105.. program:: clang
106
107.. option:: -client\_name<arg>
108
109.. option:: -compatibility\_version<arg>
110
111.. option:: --constant-cfstrings
112
113.. option:: -coverage, --coverage
114
115.. option:: --cuda-compile-host-device
116
117Compile CUDA code for both host and device (default).  Has no effect on non-CUDA compilations.
118
119.. option:: --cuda-device-only
120
121Compile CUDA code for device only
122
123.. option:: --cuda-gpu-arch=<arg>, --no-cuda-gpu-arch=<arg>
124
125CUDA GPU architecture (e.g. sm\_35).  May be specified more than once.
126
127.. option:: --cuda-host-only
128
129Compile CUDA code for host only.  Has no effect on non-CUDA compilations.
130
131.. option:: --cuda-noopt-device-debug, --no-cuda-noopt-device-debug
132
133Enable device-side debug info generation. Disables ptxas optimizations.
134
135.. option:: -current\_version<arg>
136
137.. option:: -dead\_strip
138
139.. option:: -dependency-dot <arg>
140
141Filename to write DOT-formatted header dependencies to
142
143.. option:: -dependency-file <arg>
144
145Filename (or -) to write dependency output to
146
147.. option:: -dumpmachine
148
149.. option:: -dumpversion
150
151.. option:: --dyld-prefix=<arg>, --dyld-prefix <arg>
152
153.. option:: -dylib\_file <arg>
154
155.. option:: -dylinker
156
157.. program:: clang1
158.. option:: -dylinker\_install\_name<arg>
159.. program:: clang
160
161.. option:: -dynamic
162
163.. option:: -dynamiclib
164
165.. option:: -emit-ast
166
167Emit Clang AST files for source inputs
168
169.. option:: -exported\_symbols\_list <arg>
170
171.. option:: -faligned-new=<arg>
172
173.. option:: -fcuda-approx-transcendentals, -fno-cuda-approx-transcendentals
174
175Use approximate transcendental functions
176
177.. option:: -fcuda-flush-denormals-to-zero, -fno-cuda-flush-denormals-to-zero
178
179Flush denormal floating point values to zero in CUDA device mode.
180
181.. option:: -fheinous-gnu-extensions
182
183.. option:: -flat\_namespace
184
185.. option:: -fopenmp-targets=<arg1>,<arg2>...
186
187Specify comma-separated list of triples OpenMP offloading targets to be supported
188
189.. option:: -force\_cpusubtype\_ALL
190
191.. program:: clang1
192.. option:: -force\_flat\_namespace
193.. program:: clang
194
195.. program:: clang2
196.. option:: -force\_load <arg>
197.. program:: clang
198
199.. option:: -framework <arg>
200
201.. option:: --gcc-toolchain=<arg>, -gcc-toolchain <arg>
202
203Use the gcc toolchain at the given directory
204
205.. option:: -gcodeview
206
207Generate CodeView debug information
208
209.. option:: -headerpad\_max\_install\_names<arg>
210
211.. option:: -help, --help
212
213Display available options
214
215.. option:: --help-hidden
216
217.. option:: -image\_base <arg>
218
219.. option:: -index-header-map
220
221Make the next included directory (-I or -F) an indexer header map
222
223.. option:: -init <arg>
224
225.. option:: -install\_name <arg>
226
227.. option:: -keep\_private\_externs
228
229.. option:: -lazy\_framework <arg>
230
231.. program:: clang1
232.. option:: -lazy\_library <arg>
233.. program:: clang
234
235.. option:: -mbig-endian, -EB
236
237.. option:: --migrate
238
239Run the migrator
240
241.. option:: -mlinker-version=<arg>
242
243.. option:: -mlittle-endian, -EL
244
245.. option:: -mllvm <arg>
246
247Additional arguments to forward to LLVM's option processing
248
249.. option:: -module-dependency-dir <arg>
250
251Directory to dump module dependencies to
252
253.. option:: -multi\_module
254
255.. option:: -multiply\_defined <arg>
256
257.. program:: clang1
258.. option:: -multiply\_defined\_unused <arg>
259.. program:: clang
260
261.. option:: --no-cuda-version-check
262
263Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.
264
265.. option:: -no-integrated-cpp, --no-integrated-cpp
266
267.. option:: -no\_dead\_strip\_inits\_and\_terms
268
269.. option:: -nobuiltininc
270
271Disable builtin #include directories
272
273.. option:: -nocudainc
274
275.. option:: -nocudalib
276
277.. option:: -nodefaultlibs
278
279.. option:: -nofixprebinding
280
281.. option:: -nolibc
282
283.. option:: -nomultidefs
284
285.. option:: -nopie
286
287.. option:: -noprebind
288
289.. option:: -noseglinkedit
290
291.. option:: -nostartfiles
292
293.. option:: -nostdinc, --no-standard-includes
294
295.. program:: clang1
296.. option:: -nostdinc++
297.. program:: clang
298
299Disable standard #include directories for the C++ standard library
300
301.. option:: -nostdlib, --no-standard-libraries
302
303.. option:: -nostdlibinc
304
305.. option:: -o<file>, --output <arg>, --output=<arg>
306
307Write output to <file>
308
309.. option:: -objcmt-atomic-property
310
311Make migration to 'atomic' properties
312
313.. option:: -objcmt-migrate-all
314
315Enable migration to modern ObjC
316
317.. option:: -objcmt-migrate-annotation
318
319Enable migration to property and method annotations
320
321.. option:: -objcmt-migrate-designated-init
322
323Enable migration to infer NS\_DESIGNATED\_INITIALIZER for initializer methods
324
325.. option:: -objcmt-migrate-instancetype
326
327Enable migration to infer instancetype for method result type
328
329.. option:: -objcmt-migrate-literals
330
331Enable migration to modern ObjC literals
332
333.. option:: -objcmt-migrate-ns-macros
334
335Enable migration to NS\_ENUM/NS\_OPTIONS macros
336
337.. option:: -objcmt-migrate-property
338
339Enable migration to modern ObjC property
340
341.. option:: -objcmt-migrate-property-dot-syntax
342
343Enable migration of setter/getter messages to property-dot syntax
344
345.. option:: -objcmt-migrate-protocol-conformance
346
347Enable migration to add protocol conformance on classes
348
349.. option:: -objcmt-migrate-readonly-property
350
351Enable migration to modern ObjC readonly property
352
353.. option:: -objcmt-migrate-readwrite-property
354
355Enable migration to modern ObjC readwrite property
356
357.. option:: -objcmt-migrate-subscripting
358
359Enable migration to modern ObjC subscripting
360
361.. option:: -objcmt-ns-nonatomic-iosonly
362
363Enable migration to use NS\_NONATOMIC\_IOSONLY macro for setting property's 'atomic' attribute
364
365.. option:: -objcmt-returns-innerpointer-property
366
367Enable migration to annotate property with NS\_RETURNS\_INNER\_POINTER
368
369.. option:: -objcmt-whitelist-dir-path=<arg>, -objcmt-white-list-dir-path=<arg>
370
371Only modify files with a filename contained in the provided directory path
372
373.. option:: -object
374
375.. option:: -p, --profile
376
377.. option:: -pagezero\_size<arg>
378
379.. option:: -pg
380
381Enable mcount instrumentation
382
383.. option:: -pie
384
385.. option:: -pipe, --pipe
386
387Use pipes between commands, when possible
388
389.. option:: -prebind
390
391.. program:: clang1
392.. option:: -prebind\_all\_twolevel\_modules
393.. program:: clang
394
395.. option:: -preload
396
397.. option:: --print-diagnostic-categories
398
399.. option:: -print-file-name=<file>, --print-file-name=<file>, --print-file-name <arg>
400
401Print the full library path of <file>
402
403.. option:: -print-ivar-layout
404
405Enable Objective-C Ivar layout bitmap print trace
406
407.. option:: -print-libgcc-file-name, --print-libgcc-file-name
408
409Print the library path for the currently used compiler runtime library ("libgcc.a" or "libclang\_rt.builtins.\*.a")
410
411.. option:: -print-multi-directory, --print-multi-directory
412
413.. option:: -print-multi-lib, --print-multi-lib
414
415.. option:: -print-prog-name=<name>, --print-prog-name=<name>, --print-prog-name <arg>
416
417Print the full program path of <name>
418
419.. option:: -print-search-dirs, --print-search-dirs
420
421Print the paths used for finding libraries and programs
422
423.. option:: -private\_bundle
424
425.. option:: -pthread, -no-pthread
426
427Support POSIX threads in generated code
428
429.. option:: -pthreads
430
431.. option:: -rdynamic
432
433.. option:: -read\_only\_relocs <arg>
434
435.. option:: -relocatable-pch, --relocatable-pch
436
437Whether to build a relocatable precompiled header
438
439.. option:: -remap
440
441.. option:: -rewrite-legacy-objc
442
443Rewrite Legacy Objective-C source to C++
444
445.. option:: -rtlib=<arg>, --rtlib=<arg>, --rtlib <arg>
446
447Compiler runtime library to use
448
449.. option:: -save-stats=<arg>, --save-stats=<arg>, -save-stats (equivalent to -save-stats=cwd), --save-stats (equivalent to -save-stats=cwd)
450
451Save llvm statistics.
452
453.. option:: -save-temps=<arg>, --save-temps=<arg>, -save-temps (equivalent to -save-temps=cwd), --save-temps (equivalent to -save-temps=cwd)
454
455Save intermediate compilation results.
456
457.. option:: -sectalign <arg1> <arg2> <arg3>
458
459.. option:: -sectcreate <arg1> <arg2> <arg3>
460
461.. option:: -sectobjectsymbols <arg1> <arg2>
462
463.. option:: -sectorder <arg1> <arg2> <arg3>
464
465.. option:: -seg1addr<arg>
466
467.. option:: -seg\_addr\_table <arg>
468
469.. program:: clang1
470.. option:: -seg\_addr\_table\_filename <arg>
471.. program:: clang
472
473.. option:: -segaddr <arg1> <arg2>
474
475.. option:: -segcreate <arg1> <arg2> <arg3>
476
477.. option:: -seglinkedit
478
479.. option:: -segprot <arg1> <arg2> <arg3>
480
481.. option:: -segs\_read\_<arg>
482
483.. program:: clang1
484.. option:: -segs\_read\_only\_addr <arg>
485.. program:: clang
486
487.. program:: clang2
488.. option:: -segs\_read\_write\_addr <arg>
489.. program:: clang
490
491.. option:: -serialize-diagnostics <arg>, --serialize-diagnostics <arg>
492
493Serialize compiler diagnostics to a file
494
495.. option:: -shared, --shared
496
497.. option:: -shared-libasan
498
499.. option:: -shared-libgcc
500
501.. option:: -single\_module
502
503.. option:: -specs=<arg>, --specs=<arg>
504
505.. option:: -static, --static
506
507.. option:: -static-libgcc
508
509.. option:: -static-libstdc++
510
511.. option:: -std-default=<arg>
512
513.. option:: -stdlib=<arg>, --stdlib=<arg>, --stdlib <arg>
514
515C++ standard library to use
516
517.. option:: -sub\_library<arg>
518
519.. program:: clang1
520.. option:: -sub\_umbrella<arg>
521.. program:: clang
522
523.. option:: --sysroot=<arg>, --sysroot <arg>
524
525.. option:: --target-help
526
527.. option:: --target=<arg>, -target <arg>
528
529Generate code for the given target
530
531.. option:: -time
532
533Time individual commands
534
535.. option:: -traditional, --traditional
536
537.. option:: -traditional-cpp, --traditional-cpp
538
539Enable some traditional CPP emulation
540
541.. option:: -twolevel\_namespace
542
543.. program:: clang1
544.. option:: -twolevel\_namespace\_hints
545.. program:: clang
546
547.. option:: -umbrella <arg>
548
549.. option:: -unexported\_symbols\_list <arg>
550
551.. option:: -v, --verbose
552
553Show commands to run and use verbose output
554
555.. option:: --verify-debug-info
556
557Verify the binary representation of debug output
558
559.. option:: --version
560
561.. option:: -w, --no-warnings
562
563Suppress all warnings
564
565.. option:: -weak-l<arg>
566
567.. option:: -weak\_framework <arg>
568
569.. program:: clang1
570.. option:: -weak\_library <arg>
571.. program:: clang
572
573.. program:: clang2
574.. option:: -weak\_reference\_mismatches <arg>
575.. program:: clang
576
577.. option:: -whatsloaded
578
579.. option:: -whyload
580
581.. option:: -working-directory<arg>, -working-directory=<arg>
582
583Resolve file paths relative to the specified directory
584
585.. option:: -x<language>, --language <arg>, --language=<arg>
586
587Treat subsequent input files as having type <language>
588
589.. option:: -y<arg>
590
591Actions
592=======
593The action to perform on the input.
594
595.. option:: -E, --preprocess
596
597Only run the preprocessor
598
599.. option:: -S, --assemble
600
601Only run preprocess and compilation steps
602
603.. option:: -c, --compile
604
605Only run preprocess, compile, and assemble steps
606
607.. option:: -emit-llvm
608
609Use the LLVM representation for assembler and object files
610
611.. option:: -fsyntax-only
612
613.. option:: -module-file-info
614
615Provide information about a particular module file
616
617.. option:: --precompile
618
619Only precompile the input
620
621.. option:: -rewrite-objc
622
623Rewrite Objective-C source to C++
624
625.. option:: -verify-pch
626
627Load and verify that a pre-compiled header file is not stale
628
629Compilation flags
630=================
631
632Flags controlling the behavior of Clang during compilation. These flags have
633no effect during actions that do not perform compilation.
634
635.. option:: -Xassembler <arg>
636
637Pass <arg> to the assembler
638
639.. option:: -Xclang <arg>
640
641Pass <arg> to the clang compiler
642
643.. option:: -fcomment-block-commands=<arg>,<arg2>...
644
645Treat each comma separated argument in <arg> as a documentation comment block command
646
647.. option:: -fdeclspec, -fno-declspec
648
649Allow \_\_declspec as a keyword
650
651.. option:: -fdepfile-entry=<arg>
652
653.. option:: -fdiagnostics-fixit-info, -fno-diagnostics-fixit-info
654
655.. option:: -fdiagnostics-format=<arg>
656
657.. option:: -fdiagnostics-parseable-fixits
658
659Print fix-its in machine parseable form
660
661.. option:: -fdiagnostics-print-source-range-info
662
663Print source range spans in numeric form
664
665.. option:: -fdiagnostics-show-category=<arg>
666
667.. option:: -fexperimental-new-pass-manager, -fno-experimental-new-pass-manager
668
669Enables an experimental new pass manager in LLVM.
670
671.. option:: -finline-functions, -fno-inline-functions
672
673Inline suitable functions
674
675.. option:: -finline-hint-functions
676
677Inline functions which are (explicitly or implicitly) marked inline
678
679.. option:: -fno-crash-diagnostics
680
681.. option:: -fno-sanitize-blacklist
682
683Don't use blacklist file for sanitizers
684
685.. option:: -fparse-all-comments
686
687.. option:: -fsanitize-address-field-padding=<arg>
688
689Level of field padding for AddressSanitizer
690
691.. option:: -fsanitize-address-use-after-scope, -fno-sanitize-address-use-after-scope
692
693Enable use-after-scope detection in AddressSanitizer
694
695.. option:: -fsanitize-blacklist=<arg>
696
697Path to blacklist file for sanitizers
698
699.. option:: -fsanitize-cfi-cross-dso, -fno-sanitize-cfi-cross-dso
700
701Enable control flow integrity (CFI) checks for cross-DSO calls.
702
703.. option:: -fsanitize-coverage=<arg1>,<arg2>..., -fno-sanitize-coverage=<arg1>,<arg2>...
704
705Specify the type of coverage instrumentation for Sanitizers
706
707.. option:: -fsanitize-link-c++-runtime
708
709.. option:: -fsanitize-memory-track-origins, -fno-sanitize-memory-track-origins
710
711Enable origins tracking in MemorySanitizer
712
713.. program:: clang1
714.. option:: -fsanitize-memory-track-origins=<arg>
715.. program:: clang
716
717Enable origins tracking in MemorySanitizer
718
719.. option:: -fsanitize-memory-use-after-dtor
720
721Enable use-after-destroy detection in MemorySanitizer
722
723.. option:: -fsanitize-recover, -fno-sanitize-recover
724
725.. program:: clang1
726.. option:: -fsanitize-recover=<arg1>,<arg2>..., -fno-sanitize-recover=<arg1>,<arg2>...
727.. program:: clang
728
729Enable recovery for specified sanitizers
730
731.. option:: -fsanitize-stats, -fno-sanitize-stats
732
733Enable sanitizer statistics gathering.
734
735.. option:: -fsanitize-thread-atomics, -fno-sanitize-thread-atomics
736
737Enable atomic operations instrumentation in ThreadSanitizer (default)
738
739.. option:: -fsanitize-thread-func-entry-exit, -fno-sanitize-thread-func-entry-exit
740
741Enable function entry/exit instrumentation in ThreadSanitizer (default)
742
743.. option:: -fsanitize-thread-memory-access, -fno-sanitize-thread-memory-access
744
745Enable memory access instrumentation in ThreadSanitizer (default)
746
747.. option:: -fsanitize-trap=<arg1>,<arg2>..., -fno-sanitize-trap=<arg1>,<arg2>...
748
749Enable trapping for specified sanitizers
750
751.. option:: -fsanitize-undefined-strip-path-components=<number>
752
753Strip (or keep only, if negative) a given number of path components when emitting check metadata.
754
755.. option:: -fsanitize-undefined-trap-on-error, -fno-sanitize-undefined-trap-on-error
756
757.. option:: -fsanitize=<check>,<arg2>..., -fno-sanitize=<arg1>,<arg2>...
758
759Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks
760
761.. option:: --param <arg>, --param=<arg>
762
763.. option:: -std=<arg>, --std=<arg>, --std <arg>
764
765Language standard to compile for
766
767Preprocessor flags
768~~~~~~~~~~~~~~~~~~
769
770Flags controlling the behavior of the Clang preprocessor.
771
772.. option:: -C, --comments
773
774Include comments in preprocessed output
775
776.. option:: -CC, --comments-in-macros
777
778Include comments from within macros in preprocessed output
779
780.. option:: -D<macro>=<value>, --define-macro <arg>, --define-macro=<arg>
781
782Define <macro> to <value> (or 1 if <value> omitted)
783
784.. option:: -H, --trace-includes
785
786Show header includes and nesting depth
787
788.. option:: -P, --no-line-commands
789
790Disable linemarker output in -E mode
791
792.. option:: -U<macro>, --undefine-macro <arg>, --undefine-macro=<arg>
793
794Undefine macro <macro>
795
796.. option:: -Wp,<arg>,<arg2>...
797
798Pass the comma separated arguments in <arg> to the preprocessor
799
800.. option:: -Xpreprocessor <arg>
801
802Pass <arg> to the preprocessor
803
804Include path management
805-----------------------
806
807Flags controlling how ``#include``\s are resolved to files.
808
809.. option:: -I<dir>, --include-directory <arg>, --include-directory=<arg>
810
811Add directory to include search path
812
813.. option:: -I-, --include-barrier
814
815Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path
816
817.. option:: --cuda-path=<arg>
818
819CUDA installation path
820
821.. option:: -cxx-isystem<directory>
822
823Add directory to the C++ SYSTEM include search path
824
825.. option:: -fbuild-session-file=<file>
826
827Use the last modification time of <file> as the build session timestamp
828
829.. option:: -fbuild-session-timestamp=<time since Epoch in seconds>
830
831Time when the current build session started
832
833.. option:: -fmodules-cache-path=<directory>
834
835Specify the module cache path
836
837.. option:: -fmodules-disable-diagnostic-validation
838
839Disable validation of the diagnostic options when loading the module
840
841.. option:: -fmodules-prune-after=<seconds>
842
843Specify the interval (in seconds) after which a module file will be considered unused
844
845.. option:: -fmodules-prune-interval=<seconds>
846
847Specify the interval (in seconds) between attempts to prune the module cache
848
849.. option:: -fmodules-user-build-path <directory>
850
851Specify the module user build path
852
853.. option:: -fmodules-validate-once-per-build-session
854
855Don't verify input files for the modules if the module has been successfully validated or loaded during this build session
856
857.. option:: -fmodules-validate-system-headers
858
859Validate the system headers that a module depends on when loading the module
860
861.. option:: -fprebuilt-module-path=<directory>
862
863Specify the prebuilt module path
864
865.. option:: -i<arg>
866
867.. option:: -idirafter<arg>, --include-directory-after <arg>, --include-directory-after=<arg>
868
869Add directory to AFTER include search path
870
871.. option:: -iframework<arg>
872
873Add directory to SYSTEM framework search path
874
875.. option:: -imacros<file>, --imacros<file>, --imacros=<arg>
876
877Include macros from file before parsing
878
879.. option:: -include<file>, --include<file>, --include=<arg>
880
881Include file before parsing
882
883.. option:: -include-pch <file>
884
885Include precompiled header file
886
887.. option:: -iprefix<dir>, --include-prefix <arg>, --include-prefix=<arg>
888
889Set the -iwithprefix/-iwithprefixbefore prefix
890
891.. option:: -iquote<directory>
892
893Add directory to QUOTE include search path
894
895.. option:: -isysroot<dir>
896
897Set the system root directory (usually /)
898
899.. option:: -isystem<directory>
900
901Add directory to SYSTEM include search path
902
903.. option:: -isystem-after<directory>
904
905Add directory to end of the SYSTEM include search path
906
907.. option:: -ivfsoverlay<arg>
908
909Overlay the virtual filesystem described by file over the real file system
910
911.. option:: -iwithprefix<dir>, --include-with-prefix <arg>, --include-with-prefix-after <arg>, --include-with-prefix-after=<arg>, --include-with-prefix=<arg>
912
913Set directory to SYSTEM include search path with prefix
914
915.. option:: -iwithprefixbefore<dir>, --include-with-prefix-before <arg>, --include-with-prefix-before=<arg>
916
917Set directory to include search path with prefix
918
919.. option:: -iwithsysroot<directory>
920
921Add directory to SYSTEM include search path, absolute paths are relative to -isysroot
922
923.. option:: --ptxas-path=<arg>
924
925Path to ptxas (used for compiling CUDA code)
926
927.. option:: --system-header-prefix=<prefix>, --no-system-header-prefix=<prefix>, --system-header-prefix <arg>
928
929Treat all #include paths starting with <prefix> as including a system header.
930
931Dependency file generation
932--------------------------
933
934Flags controlling generation of a dependency file for ``make``-like build
935systems.
936
937.. option:: -M, --dependencies
938
939Like -MD, but also implies -E and writes to stdout by default
940
941.. option:: -MD, --write-dependencies
942
943Write a depfile containing user and system headers
944
945.. option:: -MF<file>
946
947Write depfile output from -MMD, -MD, -MM, or -M to <file>
948
949.. option:: -MG, --print-missing-file-dependencies
950
951Add missing headers to depfile
952
953.. option:: -MJ<arg>
954
955Write a compilation database entry per input
956
957.. option:: -MM, --user-dependencies
958
959Like -MMD, but also implies -E and writes to stdout by default
960
961.. option:: -MMD, --write-user-dependencies
962
963Write a depfile containing user headers
964
965.. option:: -MP
966
967Create phony target for each dependency (other than main file)
968
969.. option:: -MQ<arg>
970
971Specify name of main file output to quote in depfile
972
973.. option:: -MT<arg>
974
975Specify name of main file output in depfile
976
977.. option:: -MV
978
979Use NMake/Jom format for the depfile
980
981Dumping preprocessor state
982--------------------------
983
984Flags allowing the state of the preprocessor to be dumped in various ways.
985
986.. option:: -d
987
988.. program:: clang1
989.. option:: -d<arg>
990.. program:: clang
991
992.. option:: -dA
993
994.. option:: -dD
995
996Print macro definitions in -E mode in addition to normal output
997
998.. option:: -dI
999
1000Print include directives in -E mode in addition to normal output
1001
1002.. option:: -dM
1003
1004Print macro definitions in -E mode instead of normal output
1005
1006Diagnostic flags
1007~~~~~~~~~~~~~~~~
1008
1009Flags controlling which warnings, errors, and remarks Clang will generate.
1010See the :doc:`full list of warning and remark flags <DiagnosticsReference>`.
1011
1012.. option:: -R<remark>
1013
1014Enable the specified remark
1015
1016.. option:: -Rpass-analysis=<arg>
1017
1018Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
1019
1020.. option:: -Rpass-missed=<arg>
1021
1022Report missed transformations by optimization passes whose name matches the given POSIX regular expression
1023
1024.. option:: -Rpass=<arg>
1025
1026Report transformations performed by optimization passes whose name matches the given POSIX regular expression
1027
1028.. option:: -W<warning>, --extra-warnings, --warn-<arg>, --warn-=<arg>
1029
1030Enable the specified warning
1031
1032.. option:: -Wdeprecated, -Wno-deprecated
1033
1034Enable warnings for deprecated constructs and define \_\_DEPRECATED
1035
1036.. option:: -Wnonportable-cfstrings<arg>, -Wno-nonportable-cfstrings<arg>
1037
1038Target-independent compilation options
1039~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1040.. option:: -Wframe-larger-than=<arg>
1041
1042.. option:: -fPIC, -fno-PIC
1043
1044.. option:: -fPIE, -fno-PIE
1045
1046.. option:: -faccess-control, -fno-access-control
1047
1048.. program:: clang1
1049.. option:: -faligned-allocation, -faligned-new, -fno-aligned-allocation
1050.. program:: clang
1051
1052Enable C++17 aligned allocation functions
1053
1054.. option:: -fallow-unsupported
1055
1056.. option:: -faltivec, -fno-altivec, -maltivec
1057
1058Enable AltiVec vector initializer syntax
1059
1060.. option:: -fansi-escape-codes
1061
1062Use ANSI escape codes for diagnostics
1063
1064.. option:: -fapple-kext, -findirect-virtual-calls, -fterminated-vtables
1065
1066Use Apple's kernel extensions ABI
1067
1068.. option:: -fapple-pragma-pack, -fno-apple-pragma-pack
1069
1070Enable Apple gcc-compatible #pragma pack handling
1071
1072.. option:: -fapplication-extension, -fno-application-extension
1073
1074Restrict code to those available for App Extensions
1075
1076.. option:: -fasm, -fno-asm
1077
1078.. option:: -fasm-blocks, -fno-asm-blocks
1079
1080.. option:: -fassociative-math, -fno-associative-math
1081
1082.. option:: -fassume-sane-operator-new, -fno-assume-sane-operator-new
1083
1084.. option:: -fast
1085
1086.. option:: -fastcp
1087
1088.. option:: -fastf
1089
1090.. option:: -fasynchronous-unwind-tables, -fno-asynchronous-unwind-tables
1091
1092.. option:: -fautolink, -fno-autolink
1093
1094.. option:: -fblocks, -fno-blocks
1095
1096Enable the 'blocks' language feature
1097
1098.. option:: -fbootclasspath=<arg>, --bootclasspath <arg>, --bootclasspath=<arg>
1099
1100.. option:: -fborland-extensions, -fno-borland-extensions
1101
1102Accept non-standard constructs supported by the Borland compiler
1103
1104.. option:: -fbracket-depth=<arg>
1105
1106.. option:: -fbuiltin, -fno-builtin
1107
1108.. option:: -fbuiltin-module-map
1109
1110Load the clang builtins module map file.
1111
1112.. option:: -fcaret-diagnostics, -fno-caret-diagnostics
1113
1114.. option:: -fclasspath=<arg>, --CLASSPATH <arg>, --CLASSPATH=<arg>, --classpath <arg>, --classpath=<arg>
1115
1116.. option:: -fcolor-diagnostics, -fno-color-diagnostics
1117
1118Use colors in diagnostics
1119
1120.. option:: -fcommon, -fno-common
1121
1122.. option:: -fcompile-resource=<arg>, --resource <arg>, --resource=<arg>
1123
1124.. option:: -fconstant-cfstrings, -fno-constant-cfstrings
1125
1126.. option:: -fconstant-string-class=<arg>
1127
1128.. option:: -fconstexpr-backtrace-limit=<arg>
1129
1130.. option:: -fconstexpr-depth=<arg>
1131
1132.. option:: -fconstexpr-steps=<arg>
1133
1134.. option:: -fcoroutines-ts, -fno-coroutines-ts
1135
1136Enable support for the C++ Coroutines TS
1137
1138.. option:: -fcoverage-mapping, -fno-coverage-mapping
1139
1140Generate coverage mapping to enable code coverage analysis
1141
1142.. option:: -fcreate-profile
1143
1144.. option:: -fcxx-exceptions, -fno-cxx-exceptions
1145
1146Enable C++ exceptions
1147
1148.. option:: -fcxx-modules, -fno-cxx-modules
1149
1150.. option:: -fdata-sections, -fno-data-sections
1151
1152Place each data in its own section (ELF Only)
1153
1154.. option:: -fdebug-info-for-profiling, -fno-debug-info-for-profiling
1155
1156Emit extra debug info to make sample profile more accurate.
1157
1158.. option:: -fdebug-pass-arguments
1159
1160.. option:: -fdebug-pass-structure
1161
1162.. option:: -fdebug-prefix-map=<arg>
1163
1164remap file source paths in debug info
1165
1166.. option:: -fdebug-types-section, -fno-debug-types-section
1167
1168Place debug types in their own section (ELF Only)
1169
1170.. option:: -fdelayed-template-parsing, -fno-delayed-template-parsing
1171
1172Parse templated function definitions at the end of the translation unit
1173
1174.. option:: -fdenormal-fp-math=<arg>
1175
1176.. option:: -fdiagnostics-absolute-paths
1177
1178Print absolute paths in diagnostics
1179
1180.. option:: -fdiagnostics-color, -fno-diagnostics-color
1181
1182.. program:: clang1
1183.. option:: -fdiagnostics-color=<arg>
1184.. program:: clang
1185
1186.. option:: -fdiagnostics-show-hotness, -fno-diagnostics-show-hotness
1187
1188Enable profile hotness information in diagnostic line
1189
1190.. option:: -fdiagnostics-show-note-include-stack, -fno-diagnostics-show-note-include-stack
1191
1192Display include stacks for diagnostic notes
1193
1194.. option:: -fdiagnostics-show-option, -fno-diagnostics-show-option
1195
1196Print option name with mappable diagnostics
1197
1198.. option:: -fdiagnostics-show-template-tree
1199
1200Print a template comparison tree for differing templates
1201
1202.. option:: -fdollars-in-identifiers, -fno-dollars-in-identifiers
1203
1204Allow '$' in identifiers
1205
1206.. option:: -fdwarf-directory-asm, -fno-dwarf-directory-asm
1207
1208.. option:: -felide-constructors, -fno-elide-constructors
1209
1210.. option:: -feliminate-unused-debug-symbols, -fno-eliminate-unused-debug-symbols
1211
1212.. option:: -fembed-bitcode=<option>, -fembed-bitcode (equivalent to -fembed-bitcode=all), -fembed-bitcode-marker (equivalent to -fembed-bitcode=marker)
1213
1214Embed LLVM bitcode (option: off, all, bitcode, marker)
1215
1216.. option:: -femit-all-decls
1217
1218Emit all declarations, even if unused
1219
1220.. option:: -femulated-tls, -fno-emulated-tls
1221
1222Use emutls functions to access thread\_local variables
1223
1224.. option:: -fencoding=<arg>, --encoding <arg>, --encoding=<arg>
1225
1226.. option:: -ferror-limit=<arg>
1227
1228.. option:: -fexceptions, -fno-exceptions
1229
1230Enable support for exception handling
1231
1232.. option:: -fexec-charset=<arg>
1233
1234.. option:: -fextdirs=<arg>, --extdirs <arg>, --extdirs=<arg>
1235
1236.. option:: -ffast-math, -fno-fast-math
1237
1238Allow aggressive, lossy floating-point optimizations
1239
1240.. option:: -ffinite-math-only, -fno-finite-math-only
1241
1242.. option:: -ffor-scope, -fno-for-scope
1243
1244.. option:: -ffp-contract=<arg>
1245
1246Form fused FP ops (e.g. FMAs): fast (everywhere) \| on (according to FP\_CONTRACT pragma, default) \| off (never fuse)
1247
1248.. option:: -ffreestanding
1249
1250Assert that the compilation takes place in a freestanding environment
1251
1252.. option:: -ffunction-sections, -fno-function-sections
1253
1254Place each function in its own section (ELF Only)
1255
1256.. option:: -fgnu-inline-asm, -fno-gnu-inline-asm
1257
1258.. option:: -fgnu-keywords, -fno-gnu-keywords
1259
1260Allow GNU-extension keywords regardless of language standard
1261
1262.. option:: -fgnu-runtime
1263
1264Generate output compatible with the standard GNU Objective-C runtime
1265
1266.. option:: -fgnu89-inline, -fno-gnu89-inline
1267
1268Use the gnu89 inline semantics
1269
1270.. option:: -fhonor-infinities, -fhonor-infinites, -fno-honor-infinities
1271
1272.. option:: -fhonor-nans, -fno-honor-nans
1273
1274.. option:: -fhosted
1275
1276.. option:: -fimplicit-module-maps, -fmodule-maps, -fno-implicit-module-maps
1277
1278Implicitly search the file system for module map files.
1279
1280.. option:: -fimplicit-modules, -fno-implicit-modules
1281
1282.. option:: -finput-charset=<arg>
1283
1284.. option:: -finstrument-functions
1285
1286Generate calls to instrument function entry and exit
1287
1288.. option:: -fintegrated-as, -fno-integrated-as, -integrated-as
1289
1290Enable the integrated assembler
1291
1292.. option:: -fjump-tables, -fno-jump-tables
1293
1294.. option:: -flax-vector-conversions, -fno-lax-vector-conversions
1295
1296.. option:: -flimited-precision=<arg>
1297
1298.. option:: -flto, -fno-lto
1299
1300Enable LTO in 'full' mode
1301
1302.. option:: -flto-jobs=<arg>
1303
1304Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)
1305
1306.. program:: clang1
1307.. option:: -flto=<arg>
1308.. program:: clang
1309
1310Set LTO mode to either 'full' or 'thin'
1311
1312.. option:: -fmacro-backtrace-limit=<arg>
1313
1314.. option:: -fmath-errno, -fno-math-errno
1315
1316Require math functions to indicate errors by setting errno
1317
1318.. option:: -fmax-type-align=<arg>
1319
1320Specify the maximum alignment to enforce on pointers lacking an explicit alignment
1321
1322.. option:: -fmerge-all-constants, -fno-merge-all-constants
1323
1324.. option:: -fmessage-length=<arg>
1325
1326.. option:: -fmodule-file-deps, -fno-module-file-deps
1327
1328.. option:: -fmodule-file=<file>
1329
1330Load this precompiled module file
1331
1332.. option:: -fmodule-map-file=<file>
1333
1334Load this module map file
1335
1336.. option:: -fmodule-name=<name>, -fmodule-implementation-of <arg>, -fmodule-name <arg>
1337
1338Specify the name of the module to build
1339
1340.. option:: -fmodules, -fno-modules
1341
1342Enable the 'modules' language feature
1343
1344.. option:: -fmodules-decluse, -fno-modules-decluse
1345
1346Require declaration of modules used within a module
1347
1348.. option:: -fmodules-ignore-macro=<arg>
1349
1350Ignore the definition of the given macro when building and loading modules
1351
1352.. option:: -fmodules-search-all, -fno-modules-search-all
1353
1354Search even non-imported modules to resolve references
1355
1356.. option:: -fmodules-strict-decluse
1357
1358Like -fmodules-decluse but requires all headers to be in modules
1359
1360.. option:: -fmodules-ts
1361
1362Enable support for the C++ Modules TS
1363
1364.. option:: -fms-compatibility, -fno-ms-compatibility
1365
1366Enable full Microsoft Visual C++ compatibility
1367
1368.. option:: -fms-compatibility-version=<arg>
1369
1370Dot-separated value representing the Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1371
1372.. option:: -fms-extensions, -fno-ms-extensions
1373
1374Accept some non-standard constructs supported by the Microsoft compiler
1375
1376.. option:: -fms-memptr-rep=<arg>
1377
1378.. option:: -fms-volatile<arg>
1379
1380.. option:: -fmsc-version=<arg>
1381
1382Microsoft compiler version number to report in \_MSC\_VER (0 = don't define it (default))
1383
1384.. option:: -fmudflap
1385
1386.. option:: -fmudflapth
1387
1388.. option:: -fnested-functions
1389
1390.. option:: -fnew-alignment=<align>, -fnew-alignment <arg>
1391
1392Specifies the largest alignment guaranteed by '::operator new(size\_t)'
1393
1394.. option:: -fnext-runtime
1395
1396.. option:: -fno-builtin-<arg>
1397
1398Disable implicit builtin knowledge of a specific function
1399
1400.. option:: -fno-elide-type
1401
1402Do not elide types when printing diagnostics
1403
1404.. option:: -fno-max-type-align
1405
1406.. option:: -fno-operator-names
1407
1408Do not treat C++ operator name keywords as synonyms for operators
1409
1410.. option:: -fno-strict-modules-decluse
1411
1412.. option:: -fno-working-directory
1413
1414.. option:: -fnoopenmp-use-tls
1415
1416.. option:: -fobjc-abi-version=<arg>
1417
1418.. option:: -fobjc-arc, -fno-objc-arc
1419
1420Synthesize retain and release calls for Objective-C pointers
1421
1422.. option:: -fobjc-arc-exceptions, -fno-objc-arc-exceptions
1423
1424Use EH-safe code when synthesizing retains and releases in -fobjc-arc
1425
1426.. option:: -fobjc-exceptions, -fno-objc-exceptions
1427
1428Enable Objective-C exceptions
1429
1430.. option:: -fobjc-infer-related-result-type, -fno-objc-infer-related-result-type
1431
1432.. option:: -fobjc-legacy-dispatch, -fno-objc-legacy-dispatch
1433
1434.. option:: -fobjc-link-runtime
1435
1436.. option:: -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
1437
1438.. option:: -fobjc-nonfragile-abi-version=<arg>
1439
1440.. option:: -fobjc-runtime=<arg>
1441
1442Specify the target Objective-C runtime kind and version
1443
1444.. option:: -fobjc-sender-dependent-dispatch
1445
1446.. option:: -fobjc-weak, -fno-objc-weak
1447
1448Enable ARC-style weak references in Objective-C
1449
1450.. option:: -fomit-frame-pointer, -fno-omit-frame-pointer
1451
1452.. option:: -fopenmp, -fno-openmp
1453
1454.. option:: -fopenmp-dump-offload-linker-script
1455
1456.. option:: -fopenmp-use-tls
1457
1458.. option:: -fopenmp-version=<arg>
1459
1460.. program:: clang1
1461.. option:: -fopenmp=<arg>
1462.. program:: clang
1463
1464.. option:: -foperator-arrow-depth=<arg>
1465
1466.. option:: -foptimization-record-file=<arg>
1467
1468Specify the file name of any generated YAML optimization record
1469
1470.. option:: -foptimize-sibling-calls, -fno-optimize-sibling-calls
1471
1472.. option:: -foutput-class-dir=<arg>, --output-class-directory <arg>, --output-class-directory=<arg>
1473
1474.. option:: -fpack-struct, -fno-pack-struct
1475
1476.. program:: clang1
1477.. option:: -fpack-struct=<arg>
1478.. program:: clang
1479
1480Specify the default maximum struct packing alignment
1481
1482.. option:: -fpascal-strings, -fno-pascal-strings, -mpascal-strings
1483
1484Recognize and construct Pascal-style string literals
1485
1486.. option:: -fpcc-struct-return
1487
1488Override the default ABI to return all structs on the stack
1489
1490.. option:: -fpch-preprocess
1491
1492.. option:: -fpic, -fno-pic
1493
1494.. option:: -fpie, -fno-pie
1495
1496.. option:: -fplugin=<dsopath>
1497
1498Load the named plugin (dynamic shared object)
1499
1500.. option:: -fpreserve-as-comments, -fno-preserve-as-comments
1501
1502.. option:: -fprofile-arcs, -fno-profile-arcs
1503
1504.. option:: -fprofile-dir=<arg>
1505
1506.. option:: -fprofile-generate, -fno-profile-generate
1507
1508Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1509
1510.. program:: clang1
1511.. option:: -fprofile-generate=<directory>
1512.. program:: clang
1513
1514Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM\_PROFILE\_FILE env var)
1515
1516.. option:: -fprofile-instr-generate, -fno-profile-instr-generate
1517
1518Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM\_PROFILE\_FILE env var)
1519
1520.. program:: clang1
1521.. option:: -fprofile-instr-generate=<file>
1522.. program:: clang
1523
1524Generate instrumented code to collect execution counts into <file> (overridden by LLVM\_PROFILE\_FILE env var)
1525
1526.. option:: -fprofile-instr-use, -fno-profile-instr-use, -fprofile-use
1527
1528.. program:: clang1
1529.. option:: -fprofile-instr-use=<arg>
1530.. program:: clang
1531
1532Use instrumentation data for profile-guided optimization
1533
1534.. option:: -fprofile-sample-use=<arg>, -fauto-profile=<arg>
1535
1536Enable sample-based profile guided optimizations
1537
1538.. program:: clang1
1539.. option:: -fprofile-use=<pathname>
1540.. program:: clang
1541
1542Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.
1543
1544.. option:: -freciprocal-math, -fno-reciprocal-math
1545
1546Allow division operations to be reassociated
1547
1548.. option:: -freg-struct-return
1549
1550Override the default ABI to return small structs in registers
1551
1552.. option:: -frelaxed-template-template-args, -fno-relaxed-template-template-args
1553
1554Enable C++17 relaxed template template argument matching
1555
1556.. option:: -freroll-loops, -fno-reroll-loops
1557
1558Turn on loop reroller
1559
1560.. option:: -fretain-comments-from-system-headers
1561
1562.. option:: -frewrite-includes, -fno-rewrite-includes
1563
1564.. option:: -frewrite-map-file <arg>
1565
1566.. program:: clang1
1567.. option:: -frewrite-map-file=<arg>
1568.. program:: clang
1569
1570.. option:: -fropi, -fno-ropi
1571
1572.. option:: -frtti, -fno-rtti
1573
1574.. option:: -frwpi, -fno-rwpi
1575
1576.. option:: -fsave-optimization-record, -fno-save-optimization-record
1577
1578Generate a YAML optimization record file
1579
1580.. option:: -fshort-enums, -fno-short-enums
1581
1582Allocate to an enum type only as many bytes as it needs for the declared range of possible values
1583
1584.. option:: -fshort-wchar, -fno-short-wchar
1585
1586Force wchar\_t to be a short unsigned int
1587
1588.. option:: -fshow-column, -fno-show-column
1589
1590.. option:: -fshow-overloads=<arg>
1591
1592Which overload candidates to show when overload resolution fails: best\|all; defaults to all
1593
1594.. option:: -fshow-source-location, -fno-show-source-location
1595
1596.. option:: -fsignaling-math, -fno-signaling-math
1597
1598.. option:: -fsigned-bitfields
1599
1600.. option:: -fsigned-char, -fno-signed-char, --signed-char
1601
1602.. option:: -fsigned-zeros, -fno-signed-zeros
1603
1604.. option:: -fsized-deallocation, -fno-sized-deallocation
1605
1606Enable C++14 sized global deallocation functions
1607
1608.. option:: -fsjlj-exceptions
1609
1610Use SjLj style exceptions
1611
1612.. option:: -fslp-vectorize, -fno-slp-vectorize, -ftree-slp-vectorize
1613
1614Enable the superword-level parallelism vectorization passes
1615
1616.. option:: -fslp-vectorize-aggressive, -fno-slp-vectorize-aggressive
1617
1618Enable the BB vectorization passes
1619
1620.. option:: -fspell-checking, -fno-spell-checking
1621
1622.. option:: -fspell-checking-limit=<arg>
1623
1624.. option:: -fsplit-dwarf-inlining, -fno-split-dwarf-inlining
1625
1626Place debug types in their own section (ELF Only)
1627
1628.. option:: -fsplit-stack
1629
1630.. option:: -fstack-protector, -fno-stack-protector
1631
1632Enable stack protectors for functions potentially vulnerable to stack smashing
1633
1634.. option:: -fstack-protector-all
1635
1636Force the usage of stack protectors for all functions
1637
1638.. option:: -fstack-protector-strong
1639
1640Use a strong heuristic to apply stack protectors to functions
1641
1642.. option:: -fstandalone-debug, -fno-limit-debug-info, -fno-standalone-debug
1643
1644Emit full debug info for all types used by the program
1645
1646.. option:: -fstrict-aliasing, -fno-strict-aliasing
1647
1648.. option:: -fstrict-enums, -fno-strict-enums
1649
1650Enable optimizations based on the strict definition of an enum's value range
1651
1652.. option:: -fstrict-overflow, -fno-strict-overflow
1653
1654.. option:: -fstrict-return, -fno-strict-return
1655
1656Always treat control flow paths that fall off the end of a non-voidfunction as unreachable
1657
1658.. option:: -fstrict-vtable-pointers, -fno-strict-vtable-pointers
1659
1660Enable optimizations based on the strict rules for overwriting polymorphic C++ objects
1661
1662.. option:: -fstruct-path-tbaa, -fno-struct-path-tbaa
1663
1664.. option:: -ftabstop=<arg>
1665
1666.. option:: -ftemplate-backtrace-limit=<arg>
1667
1668.. option:: -ftemplate-depth-<arg>
1669
1670.. option:: -ftemplate-depth=<arg>
1671
1672.. option:: -ftest-coverage
1673
1674.. option:: -fthinlto-index=<arg>
1675
1676Perform ThinLTO importing using provided function summary index
1677
1678.. option:: -fthreadsafe-statics, -fno-threadsafe-statics
1679
1680.. option:: -ftime-report
1681
1682.. option:: -ftls-model=<arg>
1683
1684.. option:: -ftrap-function=<arg>
1685
1686Issue call to specified function rather than a trap instruction
1687
1688.. option:: -ftrapping-math, -fno-trapping-math
1689
1690.. option:: -ftrapv
1691
1692Trap on integer overflow
1693
1694.. option:: -ftrapv-handler <arg>
1695
1696.. program:: clang1
1697.. option:: -ftrapv-handler=<function name>
1698.. program:: clang
1699
1700Specify the function to be called on overflow
1701
1702.. option:: -ftrigraphs, -fno-trigraphs, -trigraphs, --trigraphs
1703
1704Process trigraph sequences
1705
1706.. option:: -funique-section-names, -fno-unique-section-names
1707
1708Use unique names for text and data sections (ELF Only)
1709
1710.. option:: -funit-at-a-time, -fno-unit-at-a-time
1711
1712.. option:: -funroll-loops, -fno-unroll-loops
1713
1714Turn on loop unroller
1715
1716.. option:: -funsafe-math-optimizations, -fno-unsafe-math-optimizations
1717
1718.. option:: -funsigned-bitfields
1719
1720.. option:: -funsigned-char, -fno-unsigned-char, --unsigned-char
1721
1722.. option:: -funwind-tables, -fno-unwind-tables
1723
1724.. option:: -fuse-cxa-atexit, -fno-use-cxa-atexit
1725
1726.. option:: -fuse-init-array, -fno-use-init-array
1727
1728Use .init\_array instead of .ctors
1729
1730.. option:: -fuse-ld=<arg>
1731
1732.. option:: -fuse-line-directives, -fno-use-line-directives
1733
1734.. option:: -fveclib=<arg>
1735
1736Use the given vector functions library
1737
1738.. option:: -fvectorize, -fno-vectorize, -ftree-vectorize
1739
1740Enable the loop vectorization passes
1741
1742.. option:: -fverbose-asm, -fno-verbose-asm
1743
1744.. option:: -fvisibility-inlines-hidden
1745
1746Give inline C++ member functions default visibility by default
1747
1748.. option:: -fvisibility-ms-compat
1749
1750Give global types 'default' visibility and global functions and variables 'hidden' visibility by default
1751
1752.. option:: -fvisibility=<arg>
1753
1754Set the default symbol visibility for all global declarations
1755
1756.. option:: -fwhole-program-vtables, -fno-whole-program-vtables
1757
1758Enables whole-program vtable optimization. Requires -flto
1759
1760.. option:: -fwrapv, -fno-wrapv
1761
1762Treat signed integer overflow as two's complement
1763
1764.. option:: -fwritable-strings
1765
1766Store string literals as writable data
1767
1768.. option:: -fxray-instruction-threshold<arg>
1769
1770.. program:: clang1
1771.. option:: -fxray-instruction-threshold=<arg>
1772.. program:: clang
1773
1774Sets the minimum function size to instrument with XRay
1775
1776.. option:: -fxray-instrument, -fno-xray-instrument
1777
1778Generate XRay instrumentation sleds on function entry and exit
1779
1780.. option:: -fzero-initialized-in-bss, -fno-zero-initialized-in-bss
1781
1782.. option:: -fzvector, -fno-zvector, -mzvector
1783
1784Enable System z vector language extension
1785
1786.. option:: -pedantic, --pedantic, -no-pedantic, --no-pedantic
1787
1788.. option:: -pedantic-errors, --pedantic-errors
1789
1790OpenCL flags
1791------------
1792.. option:: -cl-denorms-are-zero
1793
1794OpenCL only. Allow denormals to be flushed to zero.
1795
1796.. option:: -cl-fast-relaxed-math
1797
1798OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines \_\_FAST\_RELAXED\_MATH\_\_.
1799
1800.. option:: -cl-finite-math-only
1801
1802OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.
1803
1804.. option:: -cl-fp32-correctly-rounded-divide-sqrt
1805
1806OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.
1807
1808.. option:: -cl-kernel-arg-info
1809
1810OpenCL only. Generate kernel argument metadata.
1811
1812.. option:: -cl-mad-enable
1813
1814OpenCL only. Allow use of less precise MAD computations in the generated binary.
1815
1816.. option:: -cl-no-signed-zeros
1817
1818OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.
1819
1820.. option:: -cl-opt-disable
1821
1822OpenCL only. This option disables all optimizations. By default optimizations are enabled.
1823
1824.. option:: -cl-single-precision-constant
1825
1826OpenCL only. Treat double precision floating-point constant as single precision constant.
1827
1828.. option:: -cl-std=<arg>
1829
1830OpenCL language standard to compile for.
1831
1832.. option:: -cl-strict-aliasing
1833
1834OpenCL only. This option is added for compatibility with OpenCL 1.0.
1835
1836.. option:: -cl-unsafe-math-optimizations
1837
1838OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.
1839
1840Target-dependent compilation options
1841~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1842.. option:: -G<size>, -G=<arg>, -msmall-data-threshold=<arg>
1843
1844Put objects of at most <size> bytes into small data section (MIPS / Hexagon)
1845
1846.. option:: -m16
1847
1848.. option:: -m32
1849
1850.. option:: -m64
1851
1852.. option:: -mabi=<arg>
1853
1854.. option:: -mabicalls, -mno-abicalls
1855
1856Enable SVR4-style position-independent code (Mips only)
1857
1858.. option:: -malign-double
1859
1860Align doubles to two words in structs (x86 only)
1861
1862.. option:: -march=<arg>
1863
1864.. option:: -masm=<arg>
1865
1866.. option:: -mbackchain, -mno-backchain
1867
1868Link stack frames through backchain on System Z
1869
1870.. option:: -mcheck-zero-division, -mno-check-zero-division
1871
1872.. option:: -mcmodel=<arg>
1873
1874.. option:: -mcompact-branches=<arg>
1875
1876.. option:: -mconsole<arg>
1877
1878.. option:: -mcpu=<arg>, -mv4 (equivalent to -mcpu=hexagonv4), -mv5 (equivalent to -mcpu=hexagonv5), -mv55 (equivalent to -mcpu=hexagonv55), -mv60 (equivalent to -mcpu=hexagonv60)
1879
1880.. option:: -mdll<arg>
1881
1882.. option:: -mdouble-float
1883
1884.. option:: -mdsp, -mno-dsp
1885
1886.. option:: -mdspr2, -mno-dspr2
1887
1888.. option:: -mdynamic-no-pic<arg>
1889
1890.. option:: -meabi <arg>
1891
1892Set EABI type, e.g. 4, 5 or gnu (default depends on triple)
1893
1894.. option:: -mfloat-abi=<arg>
1895
1896.. option:: -mfp32
1897
1898Use 32-bit floating point registers (MIPS only)
1899
1900.. option:: -mfp64
1901
1902Use 64-bit floating point registers (MIPS only)
1903
1904.. option:: -mfpmath=<arg>
1905
1906.. option:: -mfpu=<arg>
1907
1908.. option:: -mglobal-merge, -mno-global-merge
1909
1910Enable merging of globals
1911
1912.. option:: -mhard-float
1913
1914.. option:: -mhwdiv=<arg>, --mhwdiv <arg>, --mhwdiv=<arg>
1915
1916.. option:: -miamcu, -mno-iamcu
1917
1918Use Intel MCU ABI
1919
1920.. option:: -mimplicit-float, -mno-implicit-float
1921
1922.. option:: -mimplicit-it=<arg>
1923
1924.. option:: -mincremental-linker-compatible, -mno-incremental-linker-compatible
1925
1926(integrated-as) Emit an object file which can be used with an incremental linker
1927
1928.. option:: -miphoneos-version-min=<arg>, -mios-simulator-version-min=<arg>, -mios-version-min=<arg>, -miphonesimulator-version-min=<arg>
1929
1930.. option:: -mips16
1931
1932.. option:: -mkernel
1933
1934.. option:: -mldc1-sdc1, -mno-ldc1-sdc1
1935
1936.. option:: -mlong-calls, -mno-long-calls
1937
1938Generate branches with extended addressability, usually via indirect jumps.
1939
1940.. option:: -mmacosx-version-min=<arg>
1941
1942Set Mac OS X deployment target
1943
1944.. option:: -mmicromips, -mno-micromips
1945
1946.. option:: -mms-bitfields, -mno-ms-bitfields
1947
1948Set the default structure layout to be compatible with the Microsoft compiler standard
1949
1950.. option:: -mmsa, -mno-msa
1951
1952Enable MSA ASE (MIPS only)
1953
1954.. option:: -mnan=<arg>
1955
1956.. option:: -mno-mips16
1957
1958.. option:: -momit-leaf-frame-pointer, -mno-omit-leaf-frame-pointer
1959
1960Omit frame pointer setup for leaf functions
1961
1962.. option:: -moslib=<arg>
1963
1964.. option:: -mpie-copy-relocations, -mno-pie-copy-relocations
1965
1966Use copy relocations support for PIE builds
1967
1968.. option:: -mqdsp6-compat
1969
1970Enable hexagon-qdsp6 backward compatibility
1971
1972.. option:: -mrecip
1973
1974.. program:: clang1
1975.. option:: -mrecip=<arg1>,<arg2>...
1976.. program:: clang
1977
1978.. option:: -mred-zone, -mno-red-zone
1979
1980.. option:: -mregparm=<arg>
1981
1982.. option:: -mrelax-all, -mno-relax-all
1983
1984(integrated-as) Relax all machine instructions
1985
1986.. option:: -mrtd, -mno-rtd
1987
1988Make StdCall calling convention the default
1989
1990.. option:: -msingle-float
1991
1992.. option:: -msoft-float, -mno-soft-float
1993
1994Use software floating point
1995
1996.. option:: -mstack-alignment=<arg>
1997
1998Set the stack alignment
1999
2000.. option:: -mstack-probe-size=<arg>
2001
2002Set the stack probe size
2003
2004.. option:: -mstackrealign, -mno-stackrealign
2005
2006Force realign the stack at entry to every function
2007
2008.. option:: -mthread-model <arg>
2009
2010The thread model to use, e.g. posix, single (posix by default)
2011
2012.. option:: -mthreads<arg>
2013
2014.. option:: -mthumb, -mno-thumb
2015
2016.. option:: -mtune=<arg>
2017
2018.. option:: -mtvos-version-min=<arg>, -mappletvos-version-min=<arg>, -mappletvsimulator-version-min=<arg>, -mtvos-simulator-version-min=<arg>
2019
2020.. option:: -municode<arg>
2021
2022.. option:: -mvx, -mno-vx
2023
2024.. option:: -mwarn-nonportable-cfstrings, -mno-warn-nonportable-cfstrings
2025
2026.. option:: -mwatchos-version-min=<arg>, -mwatchos-simulator-version-min=<arg>, -mwatchsimulator-version-min=<arg>
2027
2028.. option:: -mwindows<arg>
2029
2030.. option:: -mx32
2031
2032.. option:: -mxgot, -mno-xgot
2033
2034AARCH64
2035-------
2036.. option:: -ffixed-x18
2037
2038Reserve the x18 register (AArch64 only)
2039
2040.. option:: -mfix-cortex-a53-835769, -mno-fix-cortex-a53-835769
2041
2042Workaround Cortex-A53 erratum 835769 (AArch64 only)
2043
2044.. option:: -mgeneral-regs-only
2045
2046Generate code which only uses the general purpose registers (AArch64 only)
2047
2048AMDGPU
2049------
2050ARM
2051---
2052.. option:: -ffixed-r9
2053
2054Reserve the r9 register (ARM only)
2055
2056.. option:: -mcrc
2057
2058Allow use of CRC instructions (ARM only)
2059
2060.. option:: -mexecute-only, -mno-execute-only, -mpure-code
2061
2062Disallow generation of data access to code sections (ARM only)
2063
2064.. option:: -mno-movt
2065
2066Disallow use of movt/movw pairs (ARM only)
2067
2068.. option:: -mnocrc
2069
2070Disallow use of CRC instructions (ARM only)
2071
2072.. option:: -mrestrict-it, -mno-restrict-it
2073
2074Disallow generation of deprecated IT blocks for ARMv8. It is on by default for ARMv8 Thumb mode.
2075
2076.. option:: -munaligned-access, -mno-unaligned-access
2077
2078Allow memory accesses to be unaligned (AArch32/AArch64 only)
2079
2080Hexagon
2081-------
2082.. option:: -mhvx, -mno-hvx
2083
2084Enable Hexagon Vector eXtensions
2085
2086.. option:: -mhvx-double, -mno-hvx-double
2087
2088Enable Hexagon Double Vector eXtensions
2089
2090.. option:: -mieee-rnd-near
2091
2092PowerPC
2093-------
2094.. option:: -mcmpb, -mno-cmpb
2095
2096.. option:: -mcrbits, -mno-crbits
2097
2098.. option:: -mcrypto, -mno-crypto
2099
2100.. option:: -mdirect-move, -mno-direct-move
2101
2102.. option:: -mfloat128, -mno-float128
2103
2104.. option:: -mfprnd, -mno-fprnd
2105
2106.. option:: -mhtm, -mno-htm
2107
2108.. option:: -minvariant-function-descriptors, -mno-invariant-function-descriptors
2109
2110.. option:: -misel, -mno-isel
2111
2112.. option:: -mlongcall, -mno-longcall
2113
2114.. option:: -mmfocrf, -mmfcrf, -mno-mfocrf
2115
2116.. option:: -mpopcntd, -mno-popcntd
2117
2118.. option:: -mpower8-vector, -mno-power8-vector
2119
2120.. option:: -mpower9-vector, -mno-power9-vector
2121
2122.. option:: -mqpx, -mno-qpx
2123
2124.. option:: -mvsx, -mno-vsx
2125
2126WebAssembly
2127-----------
2128.. option:: -msimd128, -mno-simd128
2129
2130X86
2131---
2132.. option:: -m3dnow, -mno-3dnow
2133
2134.. option:: -m3dnowa, -mno-3dnowa
2135
2136.. option:: -madx, -mno-adx
2137
2138.. option:: -maes, -mno-aes
2139
2140.. option:: -mavx, -mno-avx
2141
2142.. option:: -mavx2, -mno-avx2
2143
2144.. option:: -mavx512bw, -mno-avx512bw
2145
2146.. option:: -mavx512cd, -mno-avx512cd
2147
2148.. option:: -mavx512dq, -mno-avx512dq
2149
2150.. option:: -mavx512er, -mno-avx512er
2151
2152.. option:: -mavx512f, -mno-avx512f
2153
2154.. option:: -mavx512ifma, -mno-avx512ifma
2155
2156.. option:: -mavx512pf, -mno-avx512pf
2157
2158.. option:: -mavx512vbmi, -mno-avx512vbmi
2159
2160.. option:: -mavx512vl, -mno-avx512vl
2161
2162.. option:: -mbmi, -mno-bmi
2163
2164.. option:: -mbmi2, -mno-bmi2
2165
2166.. option:: -mcx16, -mno-cx16
2167
2168.. option:: -mf16c, -mno-f16c
2169
2170.. option:: -mfma, -mno-fma
2171
2172.. option:: -mfma4, -mno-fma4
2173
2174.. option:: -mfsgsbase, -mno-fsgsbase
2175
2176.. option:: -mfxsr, -mno-fxsr
2177
2178.. option:: -mlzcnt, -mno-lzcnt
2179
2180.. option:: -mmmx, -mno-mmx
2181
2182.. option:: -mmwaitx, -mno-mwaitx
2183
2184.. option:: -mpclmul, -mno-pclmul
2185
2186.. option:: -mpku, -mno-pku
2187
2188.. option:: -mpopcnt, -mno-popcnt
2189
2190.. option:: -mprfchw, -mno-prfchw
2191
2192.. option:: -mrdrnd, -mno-rdrnd
2193
2194.. option:: -mrdseed, -mno-rdseed
2195
2196.. option:: -mrtm, -mno-rtm
2197
2198.. option:: -msha, -mno-sha
2199
2200.. option:: -msse, -mno-sse
2201
2202.. option:: -msse2, -mno-sse2
2203
2204.. option:: -msse3, -mno-sse3
2205
2206.. option:: -msse4.1, -mno-sse4.1
2207
2208.. program:: clang1
2209.. option:: -msse4.2, -mno-sse4.2, -msse4
2210.. program:: clang
2211
2212.. option:: -msse4a, -mno-sse4a
2213
2214.. option:: -mssse3, -mno-ssse3
2215
2216.. option:: -mtbm, -mno-tbm
2217
2218.. option:: -mx87, -m80387, -mno-x87
2219
2220.. option:: -mxop, -mno-xop
2221
2222.. option:: -mxsave, -mno-xsave
2223
2224.. option:: -mxsavec, -mno-xsavec
2225
2226.. option:: -mxsaveopt, -mno-xsaveopt
2227
2228.. option:: -mxsaves, -mno-xsaves
2229
2230Optimization level
2231~~~~~~~~~~~~~~~~~~
2232
2233Flags controlling how much optimization should be performed.
2234
2235.. option:: -O<arg>, -O (equivalent to -O2), --optimize, --optimize=<arg>
2236
2237.. option:: -Ofast<arg>
2238
2239Debug information generation
2240~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2241
2242Flags controlling how much and what kind of debug information should be
2243generated.
2244
2245Kind and level of debug information
2246-----------------------------------
2247.. option:: -g, --debug, --debug=<arg>
2248
2249Generate source-level debug information
2250
2251.. option:: -gdwarf-2
2252
2253Generate source-level debug information with dwarf version 2
2254
2255.. option:: -gdwarf-3
2256
2257Generate source-level debug information with dwarf version 3
2258
2259.. option:: -gdwarf-4, -gdwarf
2260
2261Generate source-level debug information with dwarf version 4
2262
2263.. option:: -gdwarf-5
2264
2265Generate source-level debug information with dwarf version 5
2266
2267.. option:: -gfull
2268
2269.. option:: -gused
2270
2271Debug level
2272___________
2273.. option:: -g0
2274
2275.. option:: -g2
2276
2277.. option:: -g3
2278
2279.. option:: -ggdb0
2280
2281.. option:: -ggdb1
2282
2283.. option:: -ggdb2
2284
2285.. option:: -ggdb3
2286
2287.. option:: -gline-tables-only, -g1, -gmlt
2288
2289Emit debug line number tables only
2290
2291.. option:: -gmodules
2292
2293Generate debug info with external references to clang modules or precompiled headers
2294
2295Debugger to tune debug information for
2296______________________________________
2297.. option:: -ggdb
2298
2299.. option:: -glldb
2300
2301.. option:: -gsce
2302
2303Debug information flags
2304-----------------------
2305.. option:: -gcolumn-info, -gno-column-info
2306
2307.. option:: -gdwarf-aranges
2308
2309.. option:: -ggnu-pubnames
2310
2311.. option:: -grecord-gcc-switches, -gno-record-gcc-switches
2312
2313.. option:: -gsplit-dwarf
2314
2315.. option:: -gstrict-dwarf, -gno-strict-dwarf
2316
2317Static analyzer flags
2318=====================
2319
2320Flags controlling the behavior of the Clang Static Analyzer.
2321
2322.. option:: -Xanalyzer <arg>
2323
2324Pass <arg> to the static analyzer
2325
2326Fortran compilation flags
2327=========================
2328
2329Flags that will be passed onto the ``gfortran`` compiler when Clang is given
2330a Fortran input.
2331
2332.. option:: -A<arg>, --assert <arg>, --assert=<arg>
2333
2334.. option:: -A-<arg>
2335
2336.. option:: -J<arg>
2337
2338.. option:: -cpp
2339
2340.. option:: -faggressive-function-elimination, -fno-aggressive-function-elimination
2341
2342.. option:: -falign-commons, -fno-align-commons
2343
2344.. option:: -fall-intrinsics, -fno-all-intrinsics
2345
2346.. option:: -fautomatic, -fno-automatic
2347
2348.. option:: -fbackslash, -fno-backslash
2349
2350.. option:: -fbacktrace, -fno-backtrace
2351
2352.. option:: -fblas-matmul-limit=<arg>
2353
2354.. option:: -fbounds-check, -fno-bounds-check
2355
2356.. option:: -fcheck-array-temporaries, -fno-check-array-temporaries
2357
2358.. option:: -fcheck=<arg>
2359
2360.. option:: -fcoarray=<arg>
2361
2362.. option:: -fconvert=<arg>
2363
2364.. option:: -fcray-pointer, -fno-cray-pointer
2365
2366.. option:: -fd-lines-as-code, -fno-d-lines-as-code
2367
2368.. option:: -fd-lines-as-comments, -fno-d-lines-as-comments
2369
2370.. option:: -fdefault-double-8, -fno-default-double-8
2371
2372.. option:: -fdefault-integer-8, -fno-default-integer-8
2373
2374.. option:: -fdefault-real-8, -fno-default-real-8
2375
2376.. option:: -fdollar-ok, -fno-dollar-ok
2377
2378.. option:: -fdump-fortran-optimized, -fno-dump-fortran-optimized
2379
2380.. option:: -fdump-fortran-original, -fno-dump-fortran-original
2381
2382.. option:: -fdump-parse-tree, -fno-dump-parse-tree
2383
2384.. option:: -fexternal-blas, -fno-external-blas
2385
2386.. option:: -ff2c, -fno-f2c
2387
2388.. option:: -ffixed-form, -fno-fixed-form
2389
2390.. option:: -ffixed-line-length-<arg>
2391
2392.. option:: -ffpe-trap=<arg>
2393
2394.. option:: -ffree-form, -fno-free-form
2395
2396.. option:: -ffree-line-length-<arg>
2397
2398.. option:: -ffrontend-optimize, -fno-frontend-optimize
2399
2400.. option:: -fimplicit-none, -fno-implicit-none
2401
2402.. option:: -finit-character=<arg>
2403
2404.. option:: -finit-integer=<arg>
2405
2406.. option:: -finit-local-zero, -fno-init-local-zero
2407
2408.. option:: -finit-logical=<arg>
2409
2410.. option:: -finit-real=<arg>
2411
2412.. option:: -finteger-4-integer-8, -fno-integer-4-integer-8
2413
2414.. option:: -fintrinsic-modules-path, -fno-intrinsic-modules-path
2415
2416.. option:: -fmax-array-constructor=<arg>
2417
2418.. option:: -fmax-errors=<arg>
2419
2420.. option:: -fmax-identifier-length, -fno-max-identifier-length
2421
2422.. option:: -fmax-stack-var-size=<arg>
2423
2424.. option:: -fmax-subrecord-length=<arg>
2425
2426.. option:: -fmodule-private, -fno-module-private
2427
2428.. option:: -fpack-derived, -fno-pack-derived
2429
2430.. option:: -fprotect-parens, -fno-protect-parens
2431
2432.. option:: -frange-check, -fno-range-check
2433
2434.. option:: -freal-4-real-10, -fno-real-4-real-10
2435
2436.. option:: -freal-4-real-16, -fno-real-4-real-16
2437
2438.. option:: -freal-4-real-8, -fno-real-4-real-8
2439
2440.. option:: -freal-8-real-10, -fno-real-8-real-10
2441
2442.. option:: -freal-8-real-16, -fno-real-8-real-16
2443
2444.. option:: -freal-8-real-4, -fno-real-8-real-4
2445
2446.. option:: -frealloc-lhs, -fno-realloc-lhs
2447
2448.. option:: -frecord-marker=<arg>
2449
2450.. option:: -frecursive, -fno-recursive
2451
2452.. option:: -frepack-arrays, -fno-repack-arrays
2453
2454.. option:: -fsecond-underscore, -fno-second-underscore
2455
2456.. option:: -fsign-zero, -fno-sign-zero
2457
2458.. option:: -fstack-arrays, -fno-stack-arrays
2459
2460.. option:: -funderscoring, -fno-underscoring
2461
2462.. option:: -fwhole-file, -fno-whole-file
2463
2464.. option:: -nocpp
2465
2466.. option:: -static-libgfortran
2467
2468Linker flags
2469============
2470Flags that are passed on to the linker
2471
2472.. option:: -L<dir>, --library-directory <arg>, --library-directory=<arg>
2473
2474Add directory to library search path
2475
2476.. option:: -Mach
2477
2478.. option:: -T<script>
2479
2480Specify <script> as linker script
2481
2482.. option:: -Tbss<addr
2483
2484Set starting address of BSS to <addr>
2485
2486.. option:: -Tdata<addr
2487
2488Set starting address of BSS to <addr>
2489
2490.. option:: -Ttext<addr
2491
2492Set starting address of BSS to <addr>
2493
2494.. option:: -Wl,<arg>,<arg2>...
2495
2496Pass the comma separated arguments in <arg> to the linker
2497
2498.. option:: -X
2499
2500.. option:: -Xlinker <arg>, --for-linker <arg>, --for-linker=<arg>
2501
2502Pass <arg> to the linker
2503
2504.. program:: clang1
2505.. option:: -Z
2506.. program:: clang
2507
2508.. option:: -e<arg>, --entry
2509
2510.. option:: -filelist <arg>
2511
2512.. option:: -l<arg>
2513
2514.. option:: -r
2515
2516.. option:: -rpath <arg>
2517
2518.. option:: -s
2519
2520.. option:: -t
2521
2522.. option:: -u<arg>, --force-link <arg>, --force-link=<arg>
2523
2524.. option:: -undef
2525
2526undef all system defines
2527
2528.. option:: -undefined<arg>, --no-undefined
2529
2530.. option:: -z <arg>
2531
2532Pass -z <arg> to the linker
2533
2534