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