This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: C++ PATCH: Fix PR 862


On Thu, 26 Apr 2001, Mark Mitchell wrote:

> (Actually, I don't think -fnew-abi was every documented, so it's not
> as important to get it in unsupported_options, but it's still a good
> idea.  And, do things that go away from lang-options.h still get
> handed to the code that checks unsupported_options?)

lang-options.h is only used for --help and for silently ignoring
options valid for other languages; the detection of unsupported
options works without their needing to be in lang-options.h.  This
patch effects the residual parts of old-ABI support removal I
mentioned, apart from the -fsquangle reference in gxxint.texi, and the
-fno-new-abi support in lang-specs.h (ISTR some suggestion that the
__GXX_ABI_VERSION definition ought to move somewhere else).

Bootstrapped with no regressions on i686-pc-linux-gnu (3.0 branch,
--disable-libgcj).  OK to commit to mainline and branch?

cp:
2001-04-27  Joseph S. Myers  <jsm28@cam.ac.uk>

	* decl2.c (unsupported_options): Add new-abi.
	* lang-options.h: Remove no longer supported options.

testsuite:
2001-04-27  Joseph S. Myers  <jsm28@cam.ac.uk>

	* g++.old-deja/g++.other/crash14.C: Remove -fnew-abi.

diff -rupN cp.orig/decl2.c cp/decl2.c
--- cp/decl2.c	Thu Apr 26 22:04:59 2001
+++ cp/decl2.c	Fri Apr 27 18:22:00 2001
@@ -502,6 +502,7 @@ static const char * const unsupported_op
   "enum-int-equiv",
   "guiding-decls",
   "labels-ok",
+  "new-abi",
   "nonnull-objects",
   "squangle",
   "strict-prototype",
diff -rupN cp.orig/lang-options.h cp/lang-options.h
--- cp/lang-options.h	Fri Jan  5 19:36:21 2001
+++ cp/lang-options.h	Fri Apr 27 18:23:09 2001
@@ -26,8 +26,6 @@ DEFINE_LANG_NAME ("C++")
 
   { "-faccess-control", "" },
   { "-fno-access-control", "Do not obey access control semantics" },
-  { "-fall-virtual", "" },
-  { "-fno-all-virtual", "" },
   { "-falt-external-templates", "Change when template instances are emitted" },
   { "-fno-alt-external-templates", "" },
   { "-fansi-overloading", "" },
@@ -47,14 +45,10 @@ DEFINE_LANG_NAME ("C++")
   { "-fno-elide-constructors", "" },
   { "-fenforce-eh-specs", "" },
   { "-fno-enforce-eh-specs", "Do not generate code to check exception specifications" },
-  { "-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", "" },
@@ -71,17 +65,10 @@ DEFINE_LANG_NAME ("C++")
   { "-fno-implicit-inline-templates", "Only emit explicit instatiations of inline templates" },
   { "-finit-priority", "" },
   { "-fno-init-priority", "" },
-  { "-flabels-ok", "Labels can be used as first class objects" },
-  { "-fno-labels-ok", "" },
   { "-fmemoize-lookups", "" },
   { "-fno-memoize-lookups", "" },
   { "-fms-extensions", "Don't pedwarn about uses of Microsoft extensions" },
   { "-fno-ms-extensions", "" },
-  { "-fname-mangling-version-", "" },
-  { "-fnew-abi", "Enable experimental ABI changes" },
-  { "-fno-new-abi", "" },
-  { "-fnonnull-objects", "" },
-  { "-fno-nonnull-objects", "" },
   { "-foperator-names", "Recognise and/bitand/bitor/compl/not/or/xor" },
   { "-fno-operator-names", "" },
   { "-foptional-diags", "" },
@@ -92,15 +79,9 @@ DEFINE_LANG_NAME ("C++")
   { "-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", ""  },
-  { "-fno-this-is-variable", "" },
   { "-fuse-cxa-atexit", "Use __cxa_atexit to register destructors." },
   { "-fno-use-cxa-atexit", "" },
   { "-fvtable-gc", "Discard unused virtual functions" },
--- testsuite/g++.old-deja/g++.other/crash14.C.orig	Wed Mar  1 22:29:56 2000
+++ testsuite/g++.old-deja/g++.other/crash14.C	Fri Apr 27 19:34:46 2001
@@ -1,5 +1,4 @@
 // Build don't link:
-// Special g++ Options: -fnew-abi
 // Origin: Mark Mitchell <mark@codesourcery.com>
 
 struct S 

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]