]>
Commit | Line | Data |
---|---|---|
6ef471dc | 1 | /* Definitions for switches for C++. |
363e6541 RK |
2 | Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 |
3 | Free Software Foundation, Inc. | |
6ef471dc RK |
4 | |
5 | This file is part of GNU CC. | |
6 | ||
7 | GNU CC is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 2, or (at your option) | |
10 | any later version. | |
11 | ||
12 | GNU CC is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GNU CC; see the file COPYING. If not, write to | |
e9fa0c7c RK |
19 | the Free Software Foundation, 59 Temple Place - Suite 330, |
20 | Boston, MA 02111-1307, USA. */ | |
6ef471dc | 21 | |
124cb0bf NC |
22 | DEFINE_LANG_NAME ("C++") |
23 | ||
6ef471dc RK |
24 | /* This is the contribution to the `lang_options' array in gcc.c for |
25 | g++. */ | |
26 | ||
124cb0bf NC |
27 | { "-faccess-control", "" }, |
28 | { "-fno-access-control", "Do not obey access control semantics" }, | |
b0a1da19 | 29 | { "-fall-virtual", "" }, |
124cb0bf NC |
30 | { "-fno-all-virtual", "" }, |
31 | { "-falt-external-templates", "Change when template instances are emitted" }, | |
32 | { "-fno-alt-external-templates", "" }, | |
33 | { "-fansi-overloading", "" }, | |
34 | { "-fno-ansi-overloading", "" }, | |
35 | { "-fcheck-new", "Check the return value of new" }, | |
36 | { "-fno-check-new", "" }, | |
37 | { "-fconserve-space", "Reduce size of object files" }, | |
38 | { "-fno-conserve-space", "" }, | |
d9cf7c82 JM |
39 | { "-fconst-strings", "" }, |
40 | { "-fno-const-strings", "Make string literals `char[]' instead of `const char[]'" }, | |
124cb0bf | 41 | { "-fdefault-inline", "" }, |
f71f87f9 | 42 | { "-fdump-translation-unit-", "Dump the entire translation unit to a file"}, |
56ae6d77 | 43 | { "-fno-default-inline", "Do not inline member functions by default"}, |
124cb0bf NC |
44 | { "-frtti", "" }, |
45 | { "-fno-rtti", "Do not generate run time type descriptor information" }, | |
46 | { "-felide-constructors", "" }, | |
47 | { "-fno-elide-constructors", "" }, | |
48 | { "-fenum-int-equiv", "" }, | |
49 | { "-fno-enum-int-equiv", "" }, | |
50 | { "-fexternal-templates", "" }, | |
51 | { "-fno-external-templates", "" }, | |
52 | { "-ffor-scope", "" }, | |
53 | { "-fno-for-scope", "Scope of for-init-statement vars extends outside" }, | |
54 | { "-fguiding-decls", "Implement guiding declarations" }, | |
55 | { "-fno-guiding-decls", "" }, | |
56 | { "-fgnu-keywords", "" }, | |
57 | { "-fno-gnu-keywords", "Do not recognise GNU defined keywords" }, | |
e907984f | 58 | { "-fhandle-exceptions", "" }, |
124cb0bf | 59 | { "-fno-handle-exceptions", "" }, |
56ae6d77 | 60 | { "-fhonor-std", "Treat the namespace `std' as a normal namespace" }, |
124cb0bf NC |
61 | { "-fno-honor-std", "" }, |
62 | { "-fhuge-objects", "Enable support for huge objects" }, | |
63 | { "-fno-huge-objects", "" }, | |
64 | { "-fimplement-inlines", "" }, | |
65 | { "-fno-implement-inlines", "Export functions even if they can be inlined" }, | |
f3400fe2 JM |
66 | { "-fimplicit-templates", "" }, |
67 | { "-fno-implicit-templates", "Only emit explicit template instatiations" }, | |
68 | { "-fimplicit-inline-templates", "" }, | |
69 | { "-fno-implicit-inline-templates", "Only emit explicit instatiations of inline templates" }, | |
b0a1da19 | 70 | { "-finit-priority", "" }, |
2ce3c6c6 | 71 | { "-fno-init-priority", "" }, |
124cb0bf NC |
72 | { "-flabels-ok", "Labels can be used as first class objects" }, |
73 | { "-fno-labels-ok", "" }, | |
e907984f | 74 | { "-fmemoize-lookups", "" }, |
363e6541 | 75 | { "-fmessage-length=", "" }, |
124cb0bf | 76 | { "-fno-memoize-lookups", "" }, |
d2c192ad JM |
77 | { "-fms-extensions", "Don't pedwarn about uses of Microsoft extensions" }, |
78 | { "-fno-ms-extensions", "" }, | |
56ae6d77 | 79 | { "-fname-mangling-version-", "" }, |
124cb0bf NC |
80 | { "-fnew-abi", "Enable experimental ABI changes" }, |
81 | { "-fno-new-abi", "" }, | |
82 | { "-fnonnull-objects", "" }, | |
b0a1da19 | 83 | { "-fno-nonnull-objects", "" }, |
124cb0bf NC |
84 | { "-foperator-names", "Recognise and/bitand/bitor/compl/not/or/xor" }, |
85 | { "-fno-operator-names", "" }, | |
86 | { "-foptional-diags", "" }, | |
87 | { "-fno-optional-diags", "Disable optional diagnostics" }, | |
2642b9bf JM |
88 | { "-fpermissive", "Downgrade conformance errors to warnings" }, |
89 | { "-fno-permissive", "" }, | |
124cb0bf NC |
90 | { "-frepo", "Enable automatic template instantiation" }, |
91 | { "-fno-repo", "" }, | |
e907984f | 92 | { "-fsave-memoized", "" }, |
124cb0bf NC |
93 | { "-fno-save-memoized", "" }, |
94 | { "-fsquangle", "Enable squashed name mangling" }, | |
95 | { "-fno-squangle", "" }, | |
96 | { "-fstats", "Display statistics accumulated during compilation" }, | |
97 | { "-fno-stats", "" }, | |
98 | { "-fstrict-prototype", "" }, | |
99 | { "-fno-strict-prototype", "Do not assume that empty prototype means no args" }, | |
100 | { "-ftemplate-depth-", "Specify maximum template instantiation depth"}, | |
b0a1da19 JM |
101 | { "-fthis-is-variable", "Make 'this' not be type '* const'" }, |
102 | { "-fno-this-is-variable", "" }, | |
db4283a0 MM |
103 | { "-fuse-cxa-atexit", "Use __cxa_atexit to register destructors." }, |
104 | { "-fno-use-cxa-atexit", "" }, | |
a1dd0d36 JM |
105 | { "-fvtable-gc", "Discard unused virtual functions" }, |
106 | { "-fno-vtable-gc", "" }, | |
124cb0bf NC |
107 | { "-fvtable-thunks", "Implement vtables using thunks" }, |
108 | { "-fno-vtable-thunks", "" }, | |
109 | { "-fweak", "Emit common-like symbols as weak symbols" }, | |
110 | { "-fno-weak", "" }, | |
111 | { "-fxref", "Emit cross referencing information" }, | |
112 | { "-fno-xref", "" }, | |
6ef471dc | 113 | |
124cb0bf NC |
114 | { "-Wreturn-type", "Warn about inconsistent return types" }, |
115 | { "-Wno-return-type", "" }, | |
116 | { "-Woverloaded-virtual", "Warn about overloaded virtual function names" }, | |
117 | { "-Wno-overloaded-virtual", "" }, | |
56e3f54c BK |
118 | { "-Wctor-dtor-privacy", "" }, |
119 | { "-Wno-ctor-dtor-privacy", "Don't warn when all ctors/dtors are private" }, | |
124cb0bf NC |
120 | { "-Wnon-virtual-dtor", "Warn about non virtual destructors" }, |
121 | { "-Wno-non-virtual-dtor", "" }, | |
122 | { "-Wextern-inline", "Warn when a function is declared extern, then inline" }, | |
123 | { "-Wno-extern-inline", "" }, | |
124 | { "-Wreorder", "Warn when the compiler reorders code" }, | |
125 | { "-Wno-reorder", "" }, | |
126 | { "-Wsynth", "Warn when synthesis behaviour differs from Cfront" }, | |
127 | { "-Wno-synth", "" }, | |
56e3f54c BK |
128 | { "-Wpmf-conversions", "" }, |
129 | { "-Wno-pmf-conversions", "Don't warn when type converting pointers to member functions" }, | |
124cb0bf NC |
130 | { "-Weffc++", "Warn about violations of Effective C++ style rules" }, |
131 | { "-Wno-effc++", "" }, | |
132 | { "-Wsign-promo", "Warn when overload promotes from unsigned to signed" }, | |
133 | { "-Wno-sign-promo", "" }, | |
134 | { "-Wold-style-cast", "Warn if a C style cast is used in a program" }, | |
135 | { "-Wno-old-style-cast", "" }, | |
56e3f54c BK |
136 | { "-Wnon-template-friend", "" }, |
137 | { "-Wno-non-template-friend", "Don't warn when non-templatized friend functions are declared within a template" }, | |
2de45c06 ML |
138 | { "-Wdeprecated", "" }, |
139 | { "-Wno-deprecated", "Don't announce deprecation of compiler features" }, |