OSDN Git Service

* lex.c (handle_cp_pragma): Remove #pragma vtable.
[pf3gnuchains/gcc-fork.git] / gcc / cp / lang-options.h
index a22ec1d..25f642f 100644 (file)
@@ -15,92 +15,110 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
+DEFINE_LANG_NAME ("C++")
+     
 /* This is the contribution to the `lang_options' array in gcc.c for
    g++.  */
 
-  "-+e0",                      /* gcc.c tacks the `-' on the front.  */
-  "-+e1",
-  "-+e2",
-  "-faccess-control",
-  "-fno-access-control",
-  "-fall-virtual",
-  "-fno-all-virtual",
-  "-falt-external-templates",
-  "-fno-alt-external-templates",
-  "-fansi-overloading",
-  "-fno-ansi-overloading",
-  "-fcadillac",
-  "-fno-cadillac",
-  "-fcheck-new",
-  "-fno-check-new",
-  "-fconserve-space",
-  "-fno-conserve-space",
-  "-fdefault-inline",
-  "-fno-default-inline",
-  "-frtti",
-  "-fno-rtti",
-  "-felide-constructors",
-  "-fno-elide-constructors",
-  "-fenum-int-equiv",
-  "-fno-enum-int-equiv",
-  "-fexternal-templates",
-  "-fno-external-templates",
-  "-ffor-scope",
-  "-fno-for-scope",
-  "-fgc",
-  "-fno-gc",
-  "-fgnu-keywords",
-  "-fno-gnu-keywords",
-  "-fhandle-exceptions",
-  "-fno-handle-exceptions",
-  "-fhandle-signatures",
-  "-fno-handle-signatures",
-  "-fhuge-objects",
-  "-fno-huge-objects",
-  "-fimplement-inlines",
-  "-fno-implement-inlines",
-  "-fimplicit-templates",
-  "-fno-implicit-templates",
-  "-flabels-ok",
-  "-fno-labels-ok",
-  "-fmemoize-lookups",
-  "-fno-memoize-lookups",
-  "-fnonnull-objects",
-  "-fno-nonnull-objects",
-  "-foperator-names",
-  "-fno-operator-names",
-  "-frepo",
-  "-fno-repo",
-  "-fsave-memoized",
-  "-fno-save-memoized",
-  "-fshort-temps",
-  "-fno-short-temps",
-  "-fstats",
-  "-fno-stats",
-  "-fstrict-prototype",
-  "-fno-strict-prototype",
-  "-fthis-is-variable",
-  "-fno-this-is-variable",
-  "-fvtable-thunks",
-  "-fno-vtable-thunks",
-  "-fxref",
-  "-fno-xref",
+  { "-faccess-control", "" },
+  { "-fno-access-control", "Do not obey access control semantics" },
+  { "-fall-virtual", "Make all member functions virtual" },
+  { "-fno-all-virtual", "" },
+  { "-falt-external-templates", "Change when template instances are emitted" },
+  { "-fno-alt-external-templates", "" },
+  { "-fansi-overloading", "" },
+  { "-fno-ansi-overloading", "" },
+  { "-fcheck-new", "Check the return value of new" },
+  { "-fno-check-new", "" },
+  { "-fconserve-space", "Reduce size of object files" },
+  { "-fno-conserve-space", "" },
+  { "-fconst-strings", "" },
+  { "-fno-const-strings", "Make string literals `char[]' instead of `const char[]'" },
+  { "-fdefault-inline", "" },
+  { "-fno-default-inline", "Do not inline member functions by default"},
+  { "-frtti", "" },
+  { "-fno-rtti", "Do not generate run time type descriptor information" },
+  { "-felide-constructors", "" },
+  { "-fno-elide-constructors", "" },
+  { "-fenum-int-equiv", "" },
+  { "-fno-enum-int-equiv", "" },
+  { "-fexternal-templates", "" },
+  { "-fno-external-templates", "" },
+  { "-ffor-scope", "" },
+  { "-fno-for-scope", "Scope of for-init-statement vars extends outside" },
+  { "-fguiding-decls", "Implement guiding declarations" },
+  { "-fno-guiding-decls", "" },
+  { "-fgnu-keywords", "" },
+  { "-fno-gnu-keywords", "Do not recognise GNU defined keywords" },
+  { "-fhandle-exceptions", "" },
+  { "-fno-handle-exceptions", "" },
+  { "-fhandle-signatures", "Handle signature language constructs" },
+  { "-fno-handle-signatures", "" },
+  { "-fhonor-std", "Treat the namespace `std' as a normal namespace" },
+  { "-fno-honor-std", "" },
+  { "-fhuge-objects", "Enable support for huge objects" },
+  { "-fno-huge-objects", "" },
+  { "-fimplement-inlines", "" },
+  { "-fno-implement-inlines", "Export functions even if they can be inlined" },
+  { "-fimplicit-templates", "Emit implicit template instatiations when used" },
+  { "-fno-implicit-templates", "" },
+  { "-finit-priority", "Handle the init_priority attribute" },
+  { "-fno-init-priority", "" },
+  { "-flabels-ok", "Labels can be used as first class objects" },
+  { "-fno-labels-ok", "" },
+  { "-fmemoize-lookups", "" },
+  { "-fno-memoize-lookups", "" },
+  { "-fname-mangling-version-", "" },
+  { "-fnew-abi", "Enable experimental ABI changes" },
+  { "-fno-new-abi", "" },
+  { "-fnonnull-objects", "" },
+  { "-fno-nonnull-objects", "Do not assume that a reference is always valid" },
+  { "-foperator-names", "Recognise and/bitand/bitor/compl/not/or/xor" },
+  { "-fno-operator-names", "" },
+  { "-foptional-diags", "" },
+  { "-fno-optional-diags", "Disable optional diagnostics" },
+  { "-frepo", "Enable automatic template instantiation" },
+  { "-fno-repo", "" },
+  { "-fsave-memoized", "" },
+  { "-fno-save-memoized", "" },
+  { "-fsquangle", "Enable squashed name mangling" },
+  { "-fno-squangle", "" },
+  { "-fstats", "Display statistics accumulated during compilation" },
+  { "-fno-stats", "" },
+  { "-fstrict-prototype", "" },
+  { "-fno-strict-prototype", "Do not assume that empty prototype means no args" },
+  { "-ftemplate-depth-", "Specify maximum template instantiation depth"},
+  { "-fthis-is-variable", "Make 'this' not be type '* const'"  },
+  { "-fno-this-is-variable", "" },
+  { "-fvtable-thunks", "Implement vtables using thunks" },
+  { "-fno-vtable-thunks", "" },
+  { "-fweak", "Emit common-like symbols as weak symbols" },
+  { "-fno-weak", "" },
+  { "-fxref", "Emit cross referencing information" },
+  { "-fno-xref", "" },
 
-  "-Wreturn-type",
-  "-Wno-return-type",
-  "-Woverloaded-virtual",
-  "-Wno-overloaded-virtual",
-  "-Wtemplate-debugging",
-  "-Wno-template-debugging",
-  "-Wctor-dtor-privacy",
-  "-Wno-ctor-dtor-privacy",
-  "-Wnon-virtual-dtor",
-  "-Wno-non-virtual-dtor",
-  "-Wextern-inline",
-  "-Wno-extern-inline",
-  "-Wreorder",
-  "-Wno-reorder",
-  "-Wsynth",
-  "-Wno-synth",
+  { "-Wreturn-type", "Warn about inconsistent return types" },
+  { "-Wno-return-type", "" },
+  { "-Woverloaded-virtual", "Warn about overloaded virtual function names" },
+  { "-Wno-overloaded-virtual", "" },
+  { "-Wctor-dtor-privacy", "Warn when all ctors/dtors are private" },
+  { "-Wno-ctor-dtor-privacy", "" },
+  { "-Wnon-virtual-dtor", "Warn about non virtual destructors" },
+  { "-Wno-non-virtual-dtor", "" },
+  { "-Wextern-inline", "Warn when a function is declared extern, then inline" },
+  { "-Wno-extern-inline", "" },
+  { "-Wreorder", "Warn when the compiler reorders code" },
+  { "-Wno-reorder", "" },
+  { "-Wsynth", "Warn when synthesis behaviour differs from Cfront" },
+  { "-Wno-synth", "" },
+  { "-Wpmf-conversions", "Warn when type converting pointers to member functions" },
+  { "-Wno-pmf-conversions", "" },
+  { "-Weffc++", "Warn about violations of Effective C++ style rules" },
+  { "-Wno-effc++", "" },
+  { "-Wsign-promo", "Warn when overload promotes from unsigned to signed" },
+  { "-Wno-sign-promo", "" },
+  { "-Wold-style-cast", "Warn if a C style cast is used in a program" },
+  { "-Wno-old-style-cast", "" },