LEFT | RIGHT |
1 //===--- DriverOptions.td - Options for clang -----------------------------===// | 1 //===--- DriverOptions.td - Options for clang -----------------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines the options accepted by clang. | 10 // This file defines the options accepted by clang. |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 def fconstant_string_class_EQ : Joined<"-fconstant-string-class=">, Group<f_Grou
p>; | 263 def fconstant_string_class_EQ : Joined<"-fconstant-string-class=">, Group<f_Grou
p>; |
264 def fcreate_profile : Flag<"-fcreate-profile">, Group<f_Group>; | 264 def fcreate_profile : Flag<"-fcreate-profile">, Group<f_Group>; |
265 def fdebug_pass_arguments : Flag<"-fdebug-pass-arguments">, Group<f_Group>; | 265 def fdebug_pass_arguments : Flag<"-fdebug-pass-arguments">, Group<f_Group>; |
266 def fdebug_pass_structure : Flag<"-fdebug-pass-structure">, Group<f_Group>; | 266 def fdebug_pass_structure : Flag<"-fdebug-pass-structure">, Group<f_Group>; |
267 def fdiagnostics_fixit_info : Flag<"-fdiagnostics-fixit-info">, Group<f_Group>; | 267 def fdiagnostics_fixit_info : Flag<"-fdiagnostics-fixit-info">, Group<f_Group>; |
268 def fdiagnostics_print_source_range_info : Flag<"-fdiagnostics-print-source-rang
e-info">, Group<f_Group>; | 268 def fdiagnostics_print_source_range_info : Flag<"-fdiagnostics-print-source-rang
e-info">, Group<f_Group>; |
269 def fdiagnostics_parseable_fixits : Flag<"-fdiagnostics-parseable-fixits">, Grou
p<f_Group>; | 269 def fdiagnostics_parseable_fixits : Flag<"-fdiagnostics-parseable-fixits">, Grou
p<f_Group>; |
270 def fdiagnostics_show_option : Flag<"-fdiagnostics-show-option">, Group<f_Group>
; | 270 def fdiagnostics_show_option : Flag<"-fdiagnostics-show-option">, Group<f_Group>
; |
271 def fdiagnostics_show_category_EQ : Joined<"-fdiagnostics-show-category=">, Grou
p<f_Group>; | 271 def fdiagnostics_show_category_EQ : Joined<"-fdiagnostics-show-category=">, Grou
p<f_Group>; |
272 def fdollars_in_identifiers : Flag<"-fdollars-in-identifiers">, Group<f_Group>; | 272 def fdollars_in_identifiers : Flag<"-fdollars-in-identifiers">, Group<f_Group>; |
| 273 def felide_constructors : Flag<"-felide-constructors">, Group<f_Group>; |
273 def feliminate_unused_debug_symbols : Flag<"-feliminate-unused-debug-symbols">,
Group<f_Group>; | 274 def feliminate_unused_debug_symbols : Flag<"-feliminate-unused-debug-symbols">,
Group<f_Group>; |
274 def femit_all_decls : Flag<"-femit-all-decls">, Group<f_Group>; | 275 def femit_all_decls : Flag<"-femit-all-decls">, Group<f_Group>; |
275 def fencoding_EQ : Joined<"-fencoding=">, Group<f_Group>; | 276 def fencoding_EQ : Joined<"-fencoding=">, Group<f_Group>; |
276 def fexceptions : Flag<"-fexceptions">, Group<f_Group>; | 277 def fexceptions : Flag<"-fexceptions">, Group<f_Group>; |
277 def fextdirs_EQ : Joined<"-fextdirs=">, Group<f_Group>; | 278 def fextdirs_EQ : Joined<"-fextdirs=">, Group<f_Group>; |
278 def fhosted : Flag<"-fhosted">, Group<f_Group>; | 279 def fhosted : Flag<"-fhosted">, Group<f_Group>; |
279 def ffast_math : Flag<"-ffast-math">, Group<clang_ignored_f_Group>; | 280 def ffast_math : Flag<"-ffast-math">, Group<clang_ignored_f_Group>; |
280 def ffinite_math_only : Flag<"-ffinite-math-only">, Group<clang_ignored_f_Group>
; | 281 def ffinite_math_only : Flag<"-ffinite-math-only">, Group<clang_ignored_f_Group>
; |
281 | 282 |
282 def ffor_scope : Flag<"-ffor-scope">, Group<f_Group>; | 283 def ffor_scope : Flag<"-ffor-scope">, Group<f_Group>; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 def fno_builtin_strcat : Flag<"-fno-builtin-strcat">, Group<f_Group>; | 319 def fno_builtin_strcat : Flag<"-fno-builtin-strcat">, Group<f_Group>; |
319 def fno_builtin_strcpy : Flag<"-fno-builtin-strcpy">, Group<f_Group>; | 320 def fno_builtin_strcpy : Flag<"-fno-builtin-strcpy">, Group<f_Group>; |
320 def fno_builtin : Flag<"-fno-builtin">, Group<f_Group>; | 321 def fno_builtin : Flag<"-fno-builtin">, Group<f_Group>; |
321 def fno_caret_diagnostics : Flag<"-fno-caret-diagnostics">, Group<f_Group>; | 322 def fno_caret_diagnostics : Flag<"-fno-caret-diagnostics">, Group<f_Group>; |
322 def fno_color_diagnostics : Flag<"-fno-color-diagnostics">, Group<f_Group>; | 323 def fno_color_diagnostics : Flag<"-fno-color-diagnostics">, Group<f_Group>; |
323 def fno_common : Flag<"-fno-common">, Group<f_Group>; | 324 def fno_common : Flag<"-fno-common">, Group<f_Group>; |
324 def fno_constant_cfstrings : Flag<"-fno-constant-cfstrings">, Group<f_Group>; | 325 def fno_constant_cfstrings : Flag<"-fno-constant-cfstrings">, Group<f_Group>; |
325 def fno_diagnostics_fixit_info : Flag<"-fno-diagnostics-fixit-info">, Group<f_Gr
oup>; | 326 def fno_diagnostics_fixit_info : Flag<"-fno-diagnostics-fixit-info">, Group<f_Gr
oup>; |
326 def fno_diagnostics_show_option : Flag<"-fno-diagnostics-show-option">, Group<f_
Group>; | 327 def fno_diagnostics_show_option : Flag<"-fno-diagnostics-show-option">, Group<f_
Group>; |
327 def fno_dollars_in_identifiers : Flag<"-fno-dollars-in-identifiers">, Group<f_Gr
oup>; | 328 def fno_dollars_in_identifiers : Flag<"-fno-dollars-in-identifiers">, Group<f_Gr
oup>; |
| 329 def fno_elide_constructors : Flag<"-fno-elide-constructors">, Group<f_Group>; |
328 def fno_eliminate_unused_debug_symbols : Flag<"-fno-eliminate-unused-debug-symbo
ls">, Group<f_Group>; | 330 def fno_eliminate_unused_debug_symbols : Flag<"-fno-eliminate-unused-debug-symbo
ls">, Group<f_Group>; |
329 def fno_exceptions : Flag<"-fno-exceptions">, Group<f_Group>; | 331 def fno_exceptions : Flag<"-fno-exceptions">, Group<f_Group>; |
330 def fno_finite_math_only : Flag<"-fno-finite-math-only">, Group<clang_ignored_f_
Group>; | 332 def fno_finite_math_only : Flag<"-fno-finite-math-only">, Group<clang_ignored_f_
Group>; |
331 def fno_gnu_keywords : Flag<"-fno-gnu-keywords">, Group<f_Group>; | 333 def fno_gnu_keywords : Flag<"-fno-gnu-keywords">, Group<f_Group>; |
332 def fno_inline_functions : Flag<"-fno-inline-functions">, Group<clang_ignored_f_
Group>; | 334 def fno_inline_functions : Flag<"-fno-inline-functions">, Group<clang_ignored_f_
Group>; |
333 def fno_inline : Flag<"-fno-inline">, Group<clang_ignored_f_Group>; | 335 def fno_inline : Flag<"-fno-inline">, Group<clang_ignored_f_Group>; |
334 def fno_keep_inline_functions : Flag<"-fno-keep-inline-functions">, Group<clang_
ignored_f_Group>; | 336 def fno_keep_inline_functions : Flag<"-fno-keep-inline-functions">, Group<clang_
ignored_f_Group>; |
335 def fno_lax_vector_conversions : Flag<"-fno-lax-vector-conversions">, Group<f_Gr
oup>; | 337 def fno_lax_vector_conversions : Flag<"-fno-lax-vector-conversions">, Group<f_Gr
oup>; |
336 def fno_math_errno : Flag<"-fno-math-errno">, Group<f_Group>; | 338 def fno_math_errno : Flag<"-fno-math-errno">, Group<f_Group>; |
337 def fno_merge_all_constants : Flag<"-fno-merge-all-constants">, Group<f_Group>; | 339 def fno_merge_all_constants : Flag<"-fno-merge-all-constants">, Group<f_Group>; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 def fsigned_char : Flag<"-fsigned-char">, Group<f_Group>; | 396 def fsigned_char : Flag<"-fsigned-char">, Group<f_Group>; |
395 def fstack_protector_all : Flag<"-fstack-protector-all">, Group<f_Group>; | 397 def fstack_protector_all : Flag<"-fstack-protector-all">, Group<f_Group>; |
396 def fstack_protector : Flag<"-fstack-protector">, Group<f_Group>; | 398 def fstack_protector : Flag<"-fstack-protector">, Group<f_Group>; |
397 def fstrict_aliasing : Flag<"-fstrict-aliasing">, Group<f_Group>; | 399 def fstrict_aliasing : Flag<"-fstrict-aliasing">, Group<f_Group>; |
398 def fsyntax_only : Flag<"-fsyntax-only">, Flags<[DriverOption]>; | 400 def fsyntax_only : Flag<"-fsyntax-only">, Flags<[DriverOption]>; |
399 def ftabstop_EQ : Joined<"-ftabstop=">, Group<f_Group>; | 401 def ftabstop_EQ : Joined<"-ftabstop=">, Group<f_Group>; |
400 def ferror_limit_EQ : Joined<"-ferror-limit=">, Group<f_Group>; | 402 def ferror_limit_EQ : Joined<"-ferror-limit=">, Group<f_Group>; |
401 def ftemplate_depth_ : Joined<"-ftemplate-depth-">, Group<f_Group>; | 403 def ftemplate_depth_ : Joined<"-ftemplate-depth-">, Group<f_Group>; |
402 def ftemplate_backtrace_limit_EQ : Joined<"-ftemplate-backtrace-limit=">, | 404 def ftemplate_backtrace_limit_EQ : Joined<"-ftemplate-backtrace-limit=">, |
403 Group<f_Group>; | 405 Group<f_Group>; |
| 406 def Wlarge_by_value_copy_def : Flag<"-Wlarge-by-value-copy">; |
| 407 def Wlarge_by_value_copy_EQ : Joined<"-Wlarge-by-value-copy=">; |
404 def fterminated_vtables : Flag<"-fterminated-vtables">, Group<f_Group>; | 408 def fterminated_vtables : Flag<"-fterminated-vtables">, Group<f_Group>; |
405 def fthreadsafe_statics : Flag<"-fthreadsafe-statics">, Group<f_Group>; | 409 def fthreadsafe_statics : Flag<"-fthreadsafe-statics">, Group<f_Group>; |
406 def ftime_report : Flag<"-ftime-report">, Group<f_Group>; | 410 def ftime_report : Flag<"-ftime-report">, Group<f_Group>; |
407 def ftrapv : Flag<"-ftrapv">, Group<f_Group>; | 411 def ftrapv : Flag<"-ftrapv">, Group<f_Group>; |
408 def ftrapv_handler_EQ : Joined<"-ftrapv-handler=">, Group<f_Group>; | 412 def ftrapv_handler_EQ : Joined<"-ftrapv-handler=">, Group<f_Group>; |
409 def funit_at_a_time : Flag<"-funit-at-a-time">, Group<f_Group>; | 413 def funit_at_a_time : Flag<"-funit-at-a-time">, Group<f_Group>; |
410 def funroll_loops : Flag<"-funroll-loops">, Group<f_Group>; | 414 def funroll_loops : Flag<"-funroll-loops">, Group<f_Group>; |
411 def funsigned_bitfields : Flag<"-funsigned-bitfields">, Group<f_Group>; | 415 def funsigned_bitfields : Flag<"-funsigned-bitfields">, Group<f_Group>; |
412 def funsigned_char : Flag<"-funsigned-char">, Group<f_Group>; | 416 def funsigned_char : Flag<"-funsigned-char">, Group<f_Group>; |
413 def funwind_tables : Flag<"-funwind-tables">, Group<f_Group>; | 417 def funwind_tables : Flag<"-funwind-tables">, Group<f_Group>; |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 def print_multi_lib : Flag<"-print-multi-lib">; | 559 def print_multi_lib : Flag<"-print-multi-lib">; |
556 def print_multi_os_directory : Flag<"-print-multi-os-directory">; | 560 def print_multi_os_directory : Flag<"-print-multi-os-directory">; |
557 def print_prog_name_EQ : Joined<"-print-prog-name=">, | 561 def print_prog_name_EQ : Joined<"-print-prog-name=">, |
558 HelpText<"Print the full program path of <name>">, MetaVarName<"<name>">; | 562 HelpText<"Print the full program path of <name>">, MetaVarName<"<name>">; |
559 def print_search_dirs : Flag<"-print-search-dirs">, | 563 def print_search_dirs : Flag<"-print-search-dirs">, |
560 HelpText<"Print the paths used for finding libraries and programs">; | 564 HelpText<"Print the paths used for finding libraries and programs">; |
561 def private__bundle : Flag<"-private_bundle">; | 565 def private__bundle : Flag<"-private_bundle">; |
562 def pthreads : Flag<"-pthreads">; | 566 def pthreads : Flag<"-pthreads">; |
563 def pthread : Flag<"-pthread">; | 567 def pthread : Flag<"-pthread">; |
564 def p : Flag<"-p">; | 568 def p : Flag<"-p">; |
| 569 def pie : Flag<"-pie">; |
565 def read__only__relocs : Separate<"-read_only_relocs">; | 570 def read__only__relocs : Separate<"-read_only_relocs">; |
566 def remap : Flag<"-remap">; | 571 def remap : Flag<"-remap">; |
567 def rewrite_objc : Flag<"-rewrite-objc">, Flags<[DriverOption]>, | 572 def rewrite_objc : Flag<"-rewrite-objc">, Flags<[DriverOption]>, |
568 HelpText<"Rewrite Objective-C source to C++">; | 573 HelpText<"Rewrite Objective-C source to C++">; |
| 574 def rdynamic : Flag<"-rdynamic">; |
569 def rewrite_scoped_refptr : Flag<"-rewrite-scoped-refptr">, Flags<[DriverOption]
>, | 575 def rewrite_scoped_refptr : Flag<"-rewrite-scoped-refptr">, Flags<[DriverOption]
>, |
570 HelpText<"Rewrite implicit scoped_refptr constructions to explicit ones">; | 576 HelpText<"Rewrite implicit scoped_refptr constructions to explicit ones">; |
571 def rpath : Separate<"-rpath">, Flags<[LinkerInput]>; | 577 def rpath : Separate<"-rpath">, Flags<[LinkerInput]>; |
572 def r : Flag<"-r">; | 578 def r : Flag<"-r">; |
573 def save_temps : Flag<"-save-temps">, Flags<[DriverOption]>, | 579 def save_temps : Flag<"-save-temps">, Flags<[DriverOption]>, |
574 HelpText<"Save intermediate compilation results">; | 580 HelpText<"Save intermediate compilation results">; |
575 def sectalign : MultiArg<"-sectalign", 3>; | 581 def sectalign : MultiArg<"-sectalign", 3>; |
576 def sectcreate : MultiArg<"-sectcreate", 3>; | 582 def sectcreate : MultiArg<"-sectcreate", 3>; |
577 def sectobjectsymbols : MultiArg<"-sectobjectsymbols", 2>; | 583 def sectobjectsymbols : MultiArg<"-sectobjectsymbols", 2>; |
578 def sectorder : MultiArg<"-sectorder", 3>; | 584 def sectorder : MultiArg<"-sectorder", 3>; |
(...skipping 26 matching lines...) Expand all Loading... |
605 def traditional : Flag<"-traditional">; | 611 def traditional : Flag<"-traditional">; |
606 def trigraphs : Flag<"-trigraphs">; | 612 def trigraphs : Flag<"-trigraphs">; |
607 def twolevel__namespace__hints : Flag<"-twolevel_namespace_hints">; | 613 def twolevel__namespace__hints : Flag<"-twolevel_namespace_hints">; |
608 def twolevel__namespace : Flag<"-twolevel_namespace">; | 614 def twolevel__namespace : Flag<"-twolevel_namespace">; |
609 def t : Flag<"-t">; | 615 def t : Flag<"-t">; |
610 def umbrella : Separate<"-umbrella">; | 616 def umbrella : Separate<"-umbrella">; |
611 def undefined : JoinedOrSeparate<"-undefined">, Group<u_Group>; | 617 def undefined : JoinedOrSeparate<"-undefined">, Group<u_Group>; |
612 def undef : Flag<"-undef">, Group<u_Group>; | 618 def undef : Flag<"-undef">, Group<u_Group>; |
613 def unexported__symbols__list : Separate<"-unexported_symbols_list">; | 619 def unexported__symbols__list : Separate<"-unexported_symbols_list">; |
614 def u : JoinedOrSeparate<"-u">, Group<u_Group>; | 620 def u : JoinedOrSeparate<"-u">, Group<u_Group>; |
| 621 def use_gold_plugin : Flag<"-use-gold-plugin">; |
615 def v : Flag<"-v">, | 622 def v : Flag<"-v">, |
616 HelpText<"Show commands to run and use verbose output">; | 623 HelpText<"Show commands to run and use verbose output">; |
617 def weak_l : Joined<"-weak-l">, Flags<[LinkerInput]>; | 624 def weak_l : Joined<"-weak-l">, Flags<[LinkerInput]>; |
618 def weak__framework : Separate<"-weak_framework">, Flags<[LinkerInput]>; | 625 def weak__framework : Separate<"-weak_framework">, Flags<[LinkerInput]>; |
619 def weak__library : Separate<"-weak_library">, Flags<[LinkerInput]>; | 626 def weak__library : Separate<"-weak_library">, Flags<[LinkerInput]>; |
620 def weak__reference__mismatches : Separate<"-weak_reference_mismatches">; | 627 def weak__reference__mismatches : Separate<"-weak_reference_mismatches">; |
621 def whatsloaded : Flag<"-whatsloaded">; | 628 def whatsloaded : Flag<"-whatsloaded">; |
622 def whyload : Flag<"-whyload">; | 629 def whyload : Flag<"-whyload">; |
623 def w : Flag<"-w">; | 630 def w : Flag<"-w">; |
624 def x : JoinedOrSeparate<"-x">, Flags<[DriverOption]>, | 631 def x : JoinedOrSeparate<"-x">, Flags<[DriverOption]>, |
625 HelpText<"Treat subsequent input files as having type <language>">, | 632 HelpText<"Treat subsequent input files as having type <language>">, |
626 MetaVarName<"<language>">; | 633 MetaVarName<"<language>">; |
627 def y : Joined<"-y">; | 634 def y : Joined<"-y">; |
| 635 |
| 636 def working_directory : Separate<"-working-directory">, |
| 637 HelpText<"Resolve file paths relative to the specified directory">; |
| 638 def working_directory_EQ : Joined<"-working-directory=">, |
| 639 Alias<working_directory>; |
628 | 640 |
629 // Double dash options, which are usually an alias for one of the previous | 641 // Double dash options, which are usually an alias for one of the previous |
630 // options. | 642 // options. |
631 | 643 |
632 def _CLASSPATH_EQ : Joined<"--CLASSPATH=">, Alias<fclasspath_EQ>; | 644 def _CLASSPATH_EQ : Joined<"--CLASSPATH=">, Alias<fclasspath_EQ>; |
633 def _CLASSPATH : Separate<"--CLASSPATH">, Alias<fclasspath_EQ>; | 645 def _CLASSPATH : Separate<"--CLASSPATH">, Alias<fclasspath_EQ>; |
634 def _all_warnings : Flag<"--all-warnings">, Alias<Wall>; | 646 def _all_warnings : Flag<"--all-warnings">, Alias<Wall>; |
635 def _analyze_auto : Flag<"--analyze-auto">, Flags<[DriverOption]>; | 647 def _analyze_auto : Flag<"--analyze-auto">, Flags<[DriverOption]>; |
636 def _analyzer_no_default_checks : Flag<"--analyzer-no-default-checks">, Flags<[D
riverOption]>; | 648 def _analyzer_no_default_checks : Flag<"--analyzer-no-default-checks">, Flags<[D
riverOption]>; |
637 def _analyzer_output : JoinedOrSeparate<"--analyzer-output">, Flags<[DriverOptio
n]>; | 649 def _analyzer_output : JoinedOrSeparate<"--analyzer-output">, Flags<[DriverOptio
n]>; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 def _ : Joined<"--">, Flags<[Unsupported]>; | 774 def _ : Joined<"--">, Flags<[Unsupported]>; |
763 | 775 |
764 // Special internal option to handle -Xlinker --no-demangle. | 776 // Special internal option to handle -Xlinker --no-demangle. |
765 def Z_Xlinker__no_demangle : Flag<"-Z-Xlinker-no-demangle">, Flags<[Unsupported,
NoArgumentUnused]>; | 777 def Z_Xlinker__no_demangle : Flag<"-Z-Xlinker-no-demangle">, Flags<[Unsupported,
NoArgumentUnused]>; |
766 | 778 |
767 // Reserved library options. | 779 // Reserved library options. |
768 def Z_reserved_lib_stdcxx : Flag<"-Z-reserved-lib-stdc++">, | 780 def Z_reserved_lib_stdcxx : Flag<"-Z-reserved-lib-stdc++">, |
769 Flags<[LinkerInput, NoArgumentUnused, Unsupported]>, Group<reserved_lib_Grou
p>; | 781 Flags<[LinkerInput, NoArgumentUnused, Unsupported]>, Group<reserved_lib_Grou
p>; |
770 def Z_reserved_lib_cckext : Flag<"-Z-reserved-lib-cckext">, | 782 def Z_reserved_lib_cckext : Flag<"-Z-reserved-lib-cckext">, |
771 Flags<[LinkerInput, NoArgumentUnused, Unsupported]>, Group<reserved_lib_Grou
p>; | 783 Flags<[LinkerInput, NoArgumentUnused, Unsupported]>, Group<reserved_lib_Grou
p>; |
LEFT | RIGHT |