You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/11 03:38:39 UTC

svn commit: r583667 - in /incubator/stdcxx/trunk/include: exception new

Author: sebor
Date: Wed Oct 10 18:38:38 2007
New Revision: 583667

URL: http://svn.apache.org/viewvc?rev=583667&view=rev
Log:
2007-09-26 Martin Sebor <se...@roguewave.com>

	STDCXX-262
	* exception (~exception): Declared after what() to prevent gcc 4
	on Darwin from generating a vtable for the class in exception.o.
	gcc 3.4.6 on FreeBSD 6.2 has no problem either way.
	(~bad_exception): Declared before what() to achieve the same
	effect as above.
	* new (~bad_alloc): Declared before what() for the same reason.

Modified:
    incubator/stdcxx/trunk/include/exception
    incubator/stdcxx/trunk/include/new

Modified: incubator/stdcxx/trunk/include/exception
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/exception?rev=583667&r1=583666&r2=583667&view=diff
==============================================================================
--- incubator/stdcxx/trunk/include/exception (original)
+++ incubator/stdcxx/trunk/include/exception Wed Oct 10 18:38:38 2007
@@ -62,12 +62,11 @@
     // 18.6.1, p4
     exception& operator= (const exception&) _THROWS (());
 
-    // 18.6.1, p6
-    virtual ~exception () _THROWS (());
-
     // 18.6.1, p8
     virtual const char* what () const _THROWS (());
 
+    // 18.6.1, p6
+    virtual ~exception () _THROWS (());
 
 #if defined (__INTEL_COMPILER) && !defined (_MSC_VER)
 
@@ -129,10 +128,10 @@
     // 18.6.2.1, p4
     bad_exception& operator= (const bad_exception&) _THROWS (());
 
+    virtual ~bad_exception () _THROWS (());
+
     // 18.6.2.1, p5
     virtual const char* what () const _THROWS (());
-
-    virtual ~bad_exception () _THROWS (());
 };
 
 #if    !defined (_RWSTD_NO_STD_BAD_EXCEPTION) \

Modified: incubator/stdcxx/trunk/include/new
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/new?rev=583667&r1=583666&r2=583667&view=diff
==============================================================================
--- incubator/stdcxx/trunk/include/new (original)
+++ incubator/stdcxx/trunk/include/new Wed Oct 10 18:38:38 2007
@@ -145,10 +145,10 @@
     // prevent ld error when replacing operator new:
     // multiple definition of `operator new(unsigned long)'
 
+    ~bad_alloc () _THROWS (());
+
     // 18.4.2.1, p5
     virtual const char* what () const  _THROWS (());
-
-    ~bad_alloc () _THROWS (());
 
 #endif   // Intel C++ > 8.0